Bypassing filters to trigger XSS while creating memos in usememos/memos

Valid

Reported on

Dec 29th 2022


Description

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.

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

Proof of Concept

1) Go to https://demo.usememos.com/ and login into your account 
2) Add a memo with the payload mentioned above
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: https://drive.google.com/file/d/1jpEEZlJsR78C8xWnJgFc6VTlXJKMewlI/view?usp=sharing


# 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. 11 days ago
STEVEN validated this vulnerability 10 days 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 7670c9 9 days ago
STEVEN has been awarded the fix bounty
This vulnerability has been assigned a CVE
STEVEN published this vulnerability 9 days ago
Memo.tsx#L1-L237 has been validated
to join this conversation