VYPR
Unrated severityNVD Advisory· Published Jul 15, 2020· Updated Apr 16, 2025

CVE-2020-15718

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

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

News mentions

0

No linked articles in our index yet.