CVE-2020-15718
Description
RosarioSIS 6.7.2 is vulnerable to XSS, caused by improper validation of user-supplied input by the PrintSchedules.php script. A remote attacker could exploit this vulnerability using the include_inactive parameter in a crafted URL.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Affected products
2- RosarioSIS/RosarioSISdescription
- Range: = 6.7.2
Patches
Vulnerability mechanics
Root cause
"Improper sanitization of user-supplied input in the `include_inactive` parameter of `PrintSchedules.php` allows reflected XSS."
Attack vector
A remote attacker crafts a URL containing a malicious payload in the `include_inactive` parameter, such as `include_inactive=1%22onmouseover%3d%22alert(1)%22style%3d%22` [ref_id=1]. The attacker sends this URL to a victim (e.g., via phishing). When the victim, who must be logged into RosarioSIS, visits the URL, the unescaped parameter value is injected into the HTML, and the `onmouseover` event handler executes the attacker's JavaScript when the victim moves their mouse over the injected element [ref_id=1]. The attack requires no authentication beyond the victim being logged in, and no special privileges [ref_id=1].
Affected code
The vulnerability is in `modules/Scheduling/PrintSchedules.php`, where the `include_inactive` parameter is reflected into the page without proper escaping [ref_id=1]. The same class of issue also affects `modules/Users/Preferences.php` (the `tab` parameter) and `modules/Users/Search.inc.php` (the `advanced` parameter) [ref_id=1].
What the fix does
The fix, introduced in version 6.8, wraps the `$_REQUEST['modname']` value (and other user-supplied values used in form actions) with the `URLEscape()` function before embedding them in HTML [ref_id=2]. The commit message states "Fix #291 XSS Use URLEscape() for forms action, program wide" [ref_id=2]. `URLEscape()` properly encodes special characters, preventing an attacker from breaking out of the attribute context and injecting arbitrary HTML or JavaScript. The remediation example in the issue also shows using `htmlspecialchars(strip_tags())` on the `tab` parameter as an alternative approach [ref_id=1].
Preconditions
- authVictim must be logged into RosarioSIS
- inputAttacker must craft a URL with malicious payload in include_inactive parameter
- networkVictim must visit the crafted URL and interact with the page (e.g., mouseover)
Reproduction
1. Log in to RosarioSIS 6.7.2 as an admin user [ref_id=3]. 2. Send a GET request to the following URL (adjust host as needed): `http://rosariosis/Modules.php?modname=Scheduling/PrintSchedules.php&search_modfunc=list&include_inactive=" onmouseover="alert(1)"` [ref_id=3]. 3. Move the mouse over the injected element on the resulting page to trigger the XSS payload [ref_id=1][ref_id=3].
Generated on May 26, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
6- exchange.xforce.ibmcloud.com/vulnerabilities/184944mitre
- github.com/MarkLee131/awesome-web-pocs/blob/main/CVE-2020-15718.mdmitre
- gitlab.com/francoisjacquet/rosariosis/-/blob/mobile/CHANGES.mdmitre
- gitlab.com/francoisjacquet/rosariosis/-/commit/89ae9de732024e3a2e99262aa98b400a1aa6975amitre
- gitlab.com/francoisjacquet/rosariosis/-/issues/291mitre
- gitlab.com/francoisjacquet/rosariosis/-/tags/v6.8-betamitre
News mentions
0No linked articles in our index yet.