Stored XSS while adding a memo in usememos/memos


Reported on

Dec 23rd 2022


Stored cross-site scripting (also known as second-order or persistent XSS) arises when an application receives data from an untrusted source and includes that data within its later HTTP responses in an unsafe way.

Proof of Concept

Payload:  [ "><img src=x onerror=alert(1)>] ****

1) Go to and login into your account 
2) Add a memo with the payload mentioned above ( [ "><img src=x onerror=alert(1)>] ****)
3) You will see that an XSS popup will trigger 
4) Each time you visit this page you will see a pop-up

POC video:

# Impact

XSS can cause a variety of problems for the end user that range in severity from an annoyance to complete account compromise. The most severe XSS attacks involve disclosure of the user's session cookie, allowing an attacker to hijack the user's session and take over the account.
We are processing your report and will contact the usememos/memos team within 24 hours. a year ago
A GitHub Issue asking the maintainers to create a exists a year ago
We have contacted a member of the usememos/memos team and are waiting to hear back a year ago
STEVEN validated this vulnerability a year ago
Nehal Pillai has been awarded the disclosure bounty
The fix bounty is now up for grabs
The researcher's credibility has increased: +7
STEVEN marked this as fixed in 0.9.1 with commit 64e5c3 a year ago
STEVEN has been awarded the fix bounty
This vulnerability has been assigned a CVE
STEVEN published this vulnerability a year ago
Sidebar.tsx#L1-L77 has been validated
to join this conversation