Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privileged user
-
DeliverySend crafted request to Assignments.php
-
ExploitInject SQL via Tables parameter
-
ExecutionDBQuery_assignment executes tainted query
-
ImpactExtract or alter database records
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 a valid low-privileged authenticated session in openSIS-Classic (PR:L) and network reachability to the application; the attacker sends a request to the Assignment Management endpoint (modules/grades/Assignments.php) and manipulates the Tables argument passed to DBQuery_assignment. No user interaction and no special non-default configuration are needed beyond having an account. The primary limiting factor is the authentication requirement - anonymous internet-wide exploitation is not possible - plus the product's small deployment footprint. |
| Impact | Signals are mixed and point to a low-to-moderate real-world priority. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) confirms remote exploitation with low attack complexity and no user interaction, but requires low-level authentication (PR:L) - i.e., a valid, if unprivileged, application account. The vendor-supplied 4.0 base score of 5.3 rests on conservative VC:L/VI:L/VA:L impact ratings, which likely understate a classic SQL injection: injection into the query's Tables argument typically permits broad database read (and often modification), so confidentiality impact is plausibly higher than the 'Low' assigned. The vector carries E:P (Proof-of-Concept), consistent with the confirmed public exploit at the GitHub issue. There is no EPSS score and no CISA KEV listing in the provided data, so there is no evidence of active exploitation - the exploit code exists but exploitation status remains 'publicly available exploit code exists,' not confirmed in-the-wild use. Net: a genuine, easily reproduced SQLi with a public PoC, but gated behind authentication and affecting a niche product, which caps its urgency below internet-scale unauthenticated flaws. The vendor has been notified but has not responded, so no patch is confirmed available. |
| Exploit ScenarioDerived | An attacker with any low-privileged openSIS-Classic account (e.g., a student or staff login) sends a crafted request to the Assignment Management endpoint (modules/grades/Assignments.php), injecting SQL through the Tables parameter consumed by DBQuery_assignment. Because a public exploit is available via the OS4ED GitHub issue tracker, an attacker can reproduce the injection with minimal effort to read or manipulate arbitrary database records such as student records, grades, and credentials. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 30, 2026
SQL injection in OS4ED openSIS-Classic up to and including version 9.3 lets an authenticated attacker with any valid low-privileged account run arbitrary SQL against the backend database by manipulating the Tables argument passed to DBQuery_assignment in modules/grades/Assignments.php. The endpoint is reachable over the network with no user interaction and no special configuration, and publicly available exploit code exists; however, exploitation requires a valid session (CVSS vector PR:L, and the assessed vector confirms PR:L), so anonymous internet-wide attacks are not possible, and no confirmed active exploitation (CISA KEV) has been reported. Real-world priority is therefore low-to-moderate, driven mainly by the authentication prerequisite and openSIS-Classic's limited deployment footprint.
RemediationAI
No vendor-released patch was identified at time of analysis: the maintainers were notified via the public issue at https://github.com/OS4ED/openSIS-Classic/issues/474 and have not responded, so the only immediate option is compensating controls. Restrict network access to the openSIS-Classic instance to trusted networks or require VPN, which removes the remote attack surface entirely at the cost of blocking legitimate off-campus access; the trade-off can be reduced with a reverse-proxy allowlist or IP allowlisting for staff. Remove or disable the Assignment Management functionality (modules/grades/Assignments.php) for non-administrative roles, or block requests to that path from accounts that do not need gradebook assignment management - this eliminates the vulnerable code path but disables assignment management for teachers until a fix lands. Enforce least privilege on the application accounts so that only staff who genuinely need gradebook access hold sessions capable of reaching the endpoint, and audit/reduce the number of low-privileged accounts. Deploy a WAF or proxy rule that rejects requests whose Tables parameter contains SQL metacharacters or unexpected identifiers; this is a defensive heuristic with a false-positive risk and should be tuned and logged before enforcement. Finally, run the database backend under a least-privileged account (read-only where feasible for the web user) and monitor database statement logs for anomalous table names or unexpected SELECT activity from the web tier, since a WAF can be bypassed by encoding tricks. Monitoring the vendor repository and https://vuldb.com/vuln/411870 for an official fix is recommended, and any patched release should be applied as soon as it is published.
Affected VersionsENISA
Affected Packages
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
The affected component is a PHP web application - OS4ED openSIS-Classic, a student information system - and the root cause is CWE-89 (SQL Injection). The function DBQuery_assignment in modules/grades/Assignments.php constructs a database query in which the Tables argument is taken from request input and concatenated into the SQL statement rather than being bound as a parameter. Because SQL identifiers such as table names generally cannot be parameterized through prepared-statement placeholders, the correct fix requires strict allowlisting of the permitted table/identifier values, not merely escaping. The CPE entry cpe:2.3:a:os4ed:opensis-classic:*:*:*:*:*:*:*:* uses a wildcard version, indicating the code path is present across the 9.x line up to 9.3 and no version-bounded fix is recorded. The CVSS 4.0 entry (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L) and the assessed CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N) agree on a network-reachable, low-complexity injection that requires a low-privileged authenticated account and no user interaction; the assessed confidentiality impact is high, reflecting that a database read primitive in a student information system exposes records beyond the attacker's nominal role.
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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
Remote SQLi needing only a low-privileged account (PR:L, AC:L); injection enables broad DB read (C:H) with limited write (I:L), no availability impact.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
3DescriptionCVE.org
A vulnerability was identified in OS4ED openSIS-Classic up to 9.3. The impacted element is the function DBQuery_assignment of the file modules/grades/Assignments.php of the component Assignment Management Endpoint. The manipulation of the argument Tables leads to sql injection. It is possible to initiate the attack remotely. The exploit is publicly available and might be used. The project was informed of the problem early through an issue report but has not responded yet.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.
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
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
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
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
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
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
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
EUVD-2026-89777
GHSA-3697-v58m-hrx3
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB