Overview
CVE-2026-111871 is a SQL injection vulnerability in itsmeravitejak's Online-Examination-System, an open-source PHP exam-management project, affecting commits up to and including e6208e630b14657999bbfe4c9912302d2a1e2449. The flaw carries a CVSS 3.1 score of 7.3 (High), was published October 18, 2026, and is classified under CWE-89 (SQL Injection) and CWE-74 (Injection).
This is the first of three related SQL injection advisories disclosed against the same codebase on the same day — see also CVE-2026-111872 and CVE-2026-111873. All three were filed as separate GitHub issues (#5, #6, and #7 respectively) against the project repository and reported by VulDB.
The vulnerable code is an unnamed function inside qsdb/usersdb/brandb/topicsdb/subjectsdb.php, reachable through the query, qtype, sortname, and sortorder arguments. Multiple sortable, filterable parameters feeding directly into a query — a common pattern in admin list/grid views — is a frequent source of this class of bug when sort/filter values are concatenated into SQL rather than validated against an allowlist of column names and directions.
Technical Details
| Attribute | Value |
|---|---|
| CVE ID | CVE-2026-111871 |
| Severity | High |
| CVSS v3.1 Score | 7.3 |
| CWE | CWE-89 (SQL Injection) / CWE-74 (Injection) |
| Project | itsmeravitejak / Online-Examination-System |
| Vulnerable Component | qsdb/usersdb/brandb/topicsdb/subjectsdb.php |
| Vulnerable Parameters | query, qtype, sortname, sortorder |
| Affected Revisions | Up to and including commit e6208e630b14657999bbfe4c9912302d2a1e2449 |
| Attack Vector | Network, low attack complexity, no privileges or user interaction required |
| Related CVEs | CVE-2026-111872, CVE-2026-111873 (same project, same disclosure date) |
| Reported By | VulDB, via GitHub issue #5 |
| Source | NVD |
How It Works
The affected file path (qsdb/usersdb/brandb/topicsdb/subjectsdb.php) suggests a database-listing endpoint for subjects within the exam system's admin interface, supporting search (query), result-type filtering (qtype), and column sorting (sortname/sortorder). Sort-direction and sort-column parameters are a classic injection vector because developers often assume they only ever contain values like ASC/DESC or a known column name — and then skip parameterization on the (mistaken) assumption that user input can't reach a dangerous position in the query string. NVD's description confirms that manipulation of any of the four listed parameters can trigger SQL injection, with the attack launchable remotely and without authentication.
Impact Assessment
| Impact Area | Description |
|---|---|
| Confidentiality | SQL injection in a listing/search endpoint commonly allows reading data beyond the intended table — exam records, student accounts, or credentials stored in the same database |
| Integrity | Depending on the underlying query structure, injected SQL could alter listed records |
| Availability | Malformed injected queries can degrade or crash the affected listing page |
| Combined Risk | Three independent SQL injection points in the same project (this CVE plus CVE-2026-111872 and CVE-2026-111873) indicate a systemic lack of parameterized queries across the codebase, not an isolated bug |
Recommendations
For Online-Examination-System operators
- Treat this as part of a systemic issue, not an isolated fix. Review all three related advisories (CVE-2026-111871, -111872, -111873) together — they point to the same root-cause pattern across different files.
- Replace string-concatenated SQL with parameterized queries or prepared statements across
subjectsdb.phpand any file handlingsortname/sortorder-style parameters. - Allowlist sort columns and directions explicitly rather than passing user-supplied values into the query.
- Restrict network exposure of admin/listing endpoints behind authentication and a reverse proxy while awaiting a verified fix, given this project uses a rolling release model with no discrete version numbers.
For security teams
- Deploy a WAF rule targeting common SQL injection patterns in sort/filter parameters if this software is in use and cannot be immediately patched.
- Audit database logs for anomalous queries referencing
sortnameorsortordervalues outside expected column names.
Key Takeaways
- CVE-2026-111871 is a CVSS 7.3 High SQL injection in
subjectsdb.php, exploitable via thequery,qtype,sortname, andsortorderparameters. - It is one of three related SQL injection CVEs (alongside CVE-2026-111872 and CVE-2026-111873) disclosed the same day against itsmeravitejak's Online-Examination-System.
- The flaw is remotely exploitable with no authentication or user interaction.
- The pattern across all three CVEs points to a systemic lack of parameterized queries, not a single isolated bug.
- The project's rolling release model means there are no discrete affected/fixed versions — track exposure by commit hash.
Sources
See also: CVE-2026-111872 and CVE-2026-111873, two related SQL injection flaws in the same project.