Cross-Site Request Forgery (CSRF) in changeweb/unifiedtransform

Valid

Reported on

Jul 26th 2021


✍️ Description

When you don't set the SameSite attribute of cookies the browsers have special act in front of this issue.(I mean set default value on it) chrome and chromium based browsers set the attribute "Lax" that mean if you do add/delete/alter operation in a get HTTP request then your site more vulnerable with CSRF attacks. But Firefox ( one of big ones ) don't set this attribute to "Lax" and set it to "none" that makes all POST and GET requests more Vulnerable to CSRF attack.

Unifiedtransform set SameSite attribute to nothings, then If don't set any CSRF protection in Requests then your site vulnerable to POST and Get requests in Chrome and Firefox and Get requests in Chrome.

Your application in following endpoint have not any CSRF protection: http://localhost:8000/academic/remove/routine/{id}

First of all, you should run this Html payload and then you should see that the routines with 60 Id are removed now.

🕵️‍♂️ Proof of Concept

// PoC.html

<html>
  <body>
  <script>history.pushState('', '', '/')</script>
      <form action="http://localhost:8000/academic/remove/routine/50">
      <input type="submit" value="Submit request" />
    </form>
    <script>
      document.forms[0].submit();
    </script>
  </body>
</html>

💥 Impact

This vulnerability is capable of remove any routine.

Occurences

amammad modified their report
4 months ago
We have contacted a member of the changeweb/unifiedtransform team and are waiting to hear back 4 months ago
amammad modified their report
4 months ago
Jamie Slome
4 months ago

Admin


Just pinging the @maintainer here!

amammad
4 months ago

Researcher


Hey man, I hope this report help you to fix vulnerabilities.

i just want to aure that you didnt miss this report.

Hasib Mahmud validated this vulnerability 3 months ago
amammad has been awarded the disclosure bounty
The fix bounty is now up for grabs
Hasib Mahmud confirmed that a fix has been merged on c81ba7 3 months ago
Hasib Mahmud has been awarded the fix bounty