Skip to main content

RosarioSIS CVE-2026-121731

| EUVDEUVD-2026-116589 HIGH
SQL Injection (CWE-89)
2026-11-03 disclosure@vulncheck.com GHSA-97v2-f3v8-3cfx
8.7
CVSS 4.0 · Vendor: vulncheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as non-student user (teacher/parent)
  2. Delivery
    Open Attendance StudentSummary report
  3. Exploit
    Inject SQL via unquoted period_id into IN() clause
  4. Execution
    Run time-based blind queries or stacked statements
  5. Impact
    Extract admin password hashes and student records or modify data

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Persistence

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires an authenticated session as a non-student role (teacher, staff, or parent account) in RosarioSIS before 12.9. The specific trigger is the unquoted period_id request parameter handled in modules/Attendance/includes/StudentSummary.php, which is passed directly into an IN() clause; the fix casts it with (int), confirming no quoting or parameterization was applied. Because payloads do not need single quotes, standard quote-based input filtering does not limit exploitation. Limiting factors: an attacker must first hold valid credentials for a non-student role (not unauthenticated), the instance must be network-reachable, and only versions prior to 12.9 are affected - upgrading to 12.9 removes the flaw.

Impact

This is a credible, prioritize-this-week issue rather than an inflated high-CVSS score. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) and the provided base score of 8.7 are consistent with the evidence: network-reachable, low-complexity SQL injection requiring only low-privileged authentication, with high impact to confidentiality, integrity and availability of the vulnerable system (VC:H/VI:H/VA:H). The source-code evidence strongly corroborates the mechanism - the fix in commit 1b809f9 simply casts period_id to (int), confirming the parameter reached the query unsanitized. The vuln.today decision label is 'this_week', not act_now or emergency. No EPSS score, no CISA KEV listing, and no confirmed public exploit code were supplied, so there is no signal of active or widespread exploitation; the realistic risk is that any authenticated non-student account (staff, teacher, or even a parent) can be turned into a full database compromise. The main caveat is the PR:L requirement - this is not an unauthenticated internet-wide threat, so exposure depends on how many non-student accounts exist and whether the instance is internet-facing. No key signals conflict; the gap is simply the absence of exploitation-probability (EPSS) and exploited-in-the-wild (KEV) data.

Exploit ScenarioDerived

An authenticated non-student user - such as a teacher, staff member, or parent - opens the Attendance Student Summary report and tampers with the period_id request parameter, injecting SQL without single quotes into the IN() clause. Using time-based blind techniques they extract administrator password hashes and student records, or use stacked statements to modify data. No public exploit code was supplied, but the vulncheck advisory, the GitLab issue #375, and the one-line (int) cast fix make the attack path well understood and easy to reproduce.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Nov 03, 2026

SQL injection in RosarioSIS before 12.9 allows any authenticated non-student user - teacher, staff, or parent account - to inject arbitrary SQL through the unquoted period_id parameter of the Attendance StudentSummary report, enabling time-based extraction of administrator password hashes and student records as well as data modification via stacked statements. Exploitation requires valid credentials for a non-student role on a network-reachable instance; the vendor corrected the flaw in release 12.9 by casting the parameter to an integer. No public exploit code has been identified at time of analysis, but low attack complexity combined with high confidentiality, integrity, and availability impact makes this a prioritize-this-week issue rather than an inflated high-CVSS score.

RemediationAI

Upgrade RosarioSIS to 12.9, the vendor-released fix that casts period_id to an integer in modules/Attendance/includes/StudentSummary.php (commit 1b809f9761b50c3f6faf9e1b2b5f5e74d63509c1); verify the deployed file no longer reads the parameter raw. Release and advisory details are at https://github.com/francoisjacquet/rosariosis/releases/tag/v12.9, https://gitlab.com/francoisjacquet/rosariosis/-/issues/375, and https://www.vulncheck.com/advisories/rosariosis-before-12.9-sql-injection-via-period-id-in-attendance-absence-report. If upgrading cannot be done immediately, restrict access to the Attendance student summary report and the StudentSummary.php endpoint to a tightly scoped set of trusted staff accounts, recognizing that this degrades legitimate attendance reporting for teachers and parents; audit and prune non-student accounts, especially parent logins, since only authenticated non-student sessions can reach the vulnerable parameter; and do not rely on quote-based SQL filtering or WAF rules keyed to single quotes, because the payloads used here do not require them. Network exposure of the RosarioSIS instance to untrusted networks should be reduced until the fix is applied.

Affected VersionsENISA

RosarioSIS 0 <12.9

Affected Packages

euvd rosariosis fix: 12.9

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

RosarioSIS is a PHP-based school management information system, and the affected code sits in modules/Attendance/includes/StudentSummary.php, the handler behind the Attendance student summary report. CWE-89 (improper neutralization of special elements used in an SQL command) applies here: the request parameter period_id was read directly from $_REQUEST and concatenated into a SQL IN() clause without quoting, casting, or parameterization, as shown by the pre-fix line referenced at v12.8.1 line 119 and the correction in commit 1b809f9761b50c3f6faf9e1b2b5f5e74d63509c1, which replaces the assignment with an explicit (int) cast. Because the injected value is not wrapped in quotes, payloads do not need single quotes, so quote-escaping or magic-quote-style input filters do not block them; this also permits time-based blind inference of data and stacked statements that alter records. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N, VC:H/VI:H/VA:H) and the independent CVSS 3.1 assessment (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H) both indicate the attacker must already hold a low-privileged authenticated session - a non-student role such as teacher, staff, or parent - while no user interaction is required beyond issuing the crafted request.

Know when PHP gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (vulncheck) PRIMARY 8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 8.8 HIGH

Network-reachable injection needing only a low-privileged non-student account (PR:L, AC:L, UI:N); unsanitized parameter yields full read, data modification via stacked statements, so C/I/A all High.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (vulncheck).

CVSS VectorVendor: vulncheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Nov 04, 2026 - 02:16 EUVD
CVE Published
Nov 03, 2026 - 23:17 cve.org
HIGH 8.7

DescriptionCVE.org

RosarioSIS before 12.9 contains a sql injection vulnerability that allows authenticated non-student users, including parents, to inject SQL via the unquoted period_id parameter in StudentSummary.php. Attackers can supply payloads without single quotes into IN() clauses to extract administrator password hashes and student records through time-based queries or modify data via stacked statements.

Executive ViewAI

Why It Matters

CVE-2026-121731 is a high-severity SQL injection flaw in RosarioSIS (student information system) before version 12.9. Any authenticated non-student user-including teachers, staff, or parents-can exploit it to extract administrator password hashes and student records or modify data. This puts sensitive student and administrative data at risk, affecting all schools using vulnerable RosarioSIS instances.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis; interim mitigations include restricting network access to trusted users, monitoring for anomalous database queries, and applying input validation at the web application firewall if feasible.

Threat Intelligence Overview

Prevalence
Low
niche open-source K-12 school information system, industry-specific footprint
Data Quality
3 sources
Confidence: Low

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS N/A
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.

More in PHP

View all
CVE-2019-11043 CRITICAL POC
9.8 Oct 28

In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it

CVE-2012-1823 CRITICAL POC
9.8 May 11

sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not

CVE-2016-1555 CRITICAL POC
9.8 Apr 21

(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear

CVE-2018-11138 CRITICAL POC
9.8 May 31

The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by

CVE-2024-11680 CRITICAL POC
9.8 Nov 26

ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C

CVE-2025-49113 CRITICAL POC
9.9 Jun 02

Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au

CVE-2017-9841 CRITICAL POC
9.8 Jun 27

Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c

CVE-2025-0108 HIGH POC
8.8 Feb 12

Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers

CVE-2021-25298 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2021-25296 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2013-4983 CRITICAL POC
10.0 Sep 10

The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy