---
id: "CVE-2026-111872"
kind: "vulnerability"
aliases: ["CVE-2026-111872"]
title: "Online Examination System: SQL injection through id, user and topic parameters"
severity: "high"
cvss: 7.5
epss: null
exploited: false
status: "open"
category: "other"
products: [{"name": "Online-Examination-System", "fixed": [], "affected": "<= e6208e630b14657999bbfe4c9912302d2a1e2449 (all commits, rolling release)", "ecosystem": "other"}]
ecosystems: []
tags: ["mysql", "other", "php", "self-hosted", "sql-injection", "unauthenticated"]
not_affected_if: ["not-internet-reachable", "not-using-this-project"]
published_at: "2026-10-18T04:16:35+00:00"
first_seen_at: "2026-10-23T21:57:14+00:00"
updated_at: "2026-10-25T03:44:36+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-111872", "first_seen_at": "2026-10-23T21:57:14+00:00"}, {"source": "analyst", "url": null, "first_seen_at": "2026-10-25T03:44:36+00:00"}]
---

# Online Examination System: SQL injection through id, user and topic parameters

The itsmeravitejak Online-Examination-System PHP application builds database queries from the id, user and topic arguments without proper escaping, in functions of MySQLDB in results.php and include/database.php. A remote attacker can inject SQL to read or change exam data stored in the database.

_Summary, check and fix written by a model from the sources; labelled as such._

## Affected

- other:Online-Examination-System affected <= e6208e630b14657999bbfe4c9912302d2a1e2449 (all commits, rolling release) fixed ?

## How to check

- Look for results.php and include/database.php from itsmeravitejak/Online-Examination-System (or the pieboy/Talent-Hunt fork lineage). Any deployment of this repo is affected; master has no later commit than e6208e6.
- Test (on your own host): GET /results.php?id=1%20AND%201=1 returns the result page, id=1%20AND%201=2 returns 'not a valid exam'. The same difference means it is injectable.
- Check web logs for results.php requests with quotes, OR, UNION or SELECT in id, user or topic.

## Fix

No fix: no patched commit or release exists upstream, and the project is unmaintained since 2016. Stop using it, or take results.php offline. If you must keep it, rewrite the five MySQLDB queries (valid, getresults, noresults, getExams, getreport, latestExamId) as prepared statements and cast id/topic to int. Run the DB as a non-root user (the default is root in include/constants.php).

## Timeline

- 2026-10-23T21:57:14+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-111872
- 2026-10-25T03:44:36+00:00 analyst — Read reporter's issue #6 (open, no maintainer reply) and master history: head commit is e6208e6 (Dec 2016), the affected commit, so no fix exists. results.php needs no login; PoC curl commands are in the issue. No exploitation reported.

## Documents

- [advisory] SQL injection in results.php (id, user and topic parameters) without authentication https://github.com/itsmeravitejak/Online-Examination-System/issues/6
- [mentions] Commit history, master (head e6208e6, Dec 2016) https://github.com/itsmeravitejak/Online-Examination-System/commits/master

## From the sources

A security vulnerability has been detected in itsmeravitejak Online-Examination-System up to e6208e630b14657999bbfe4c9912302d2a1e2449. This affects the function MySQLDB::valid/MySQLDB::getresults/MySQLDB::noresults/MySQLDB::getExams/MySQLDB::latestExamID/MySQLDB::getreport of the file results.php/include/database.php. The manipulation of the argument id/user/topic leads to sql injection. The attack may be initiated remotely. The exploit has been disclosed publicly and may be used. This product uses a rolling release model to deliver continuous updates. As a result, specific version information for affected or updated releases is not available. The project was informed of the problem early through an issue report but has not responded yet.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
