{"id":"CVE-2026-111872","kind":"vulnerability","aliases":["CVE-2026-111872"],"related":[],"title":"Online Examination System: SQL injection through id, user and topic parameters","description":"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.","summary":"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.","severity":"high","cvss":7.5,"epss":null,"exploited":false,"exploited_at":null,"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"],"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.\n- 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.\n- 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).","status":"open","published_at":"2026-10-18T04:16:35+00:00","first_seen_at":"2026-10-23T21:57:14+00:00","triaged_at":"2026-10-25T03:23:34+00:00","updated_at":"2026-10-25T03:44:36+00:00","category":"other","confidence":0.85,"triage":{"at":"2026-10-25T03:23:34Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"internet","title":"Online Examination System: SQL injection through id, user and topic parameters","impact":"medium","summary":"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.","category":"other","nicknames":[],"who_cares":["php","self-hosted","mysql"],"confidence":0.6,"needs_auth":"unknown","worst_case":"Attacker reads or alters exam database contents via injected SQL","analyst_note":"Confirm whether a fixed commit or release exists upstream and whether authentication gates results.php; sources give no fixed version and project has not responded.","how_to_check":"- Check whether the deployment includes `results.php` and `include/database.php` from the itsmeravitejak Online-Examination-System repository.\n- Compare the deployed commit against `e6208e630b14657999bbfe4c9912302d2a1e2449`; the project is rolling release, so unknown whether later commits are fixed.","needs_analyst":true,"not_affected_if":["not-using-this-project"],"who_is_affected":"Any site running the itsmeravitejak Online-Examination-System up to commit e6208e630b14657999bbfe4c9912302d2a1e2449 that exposes results.php to the internet is exposed. Installations that do not run this project, or that keep the results pages behind authentication on a private network, face lower risk. The sources do not say whether the project has published a fix.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"high"},"cost_usd":0.000639,"input_tokens":3466,"output_tokens":585,"severity_before":"high"},"analyst_status":"done","analyst_note":"Confirm whether a fixed commit or release exists upstream and whether authentication gates results.php; sources give no fixed version and project has not responded.","search":"'-111872':14A,17A '-2026':13A,16A '/include/database.php.':108C 'affect':93C,153C 'applic':39B 'argument':49B,113C 'attack':63B,120C 'avail':159C 'build':40B 'chang':70B 'continu':144C 'cve':12A,15A 'data':72B 'databas':41B,76B 'deliv':143C 'detect':82C 'disclos':129C 'e6208e630b14657999bbfe4c9912302d2a1e2449':91C 'earli':167C 'escap':52B 'exam':71B 'examin':2A,36B,87C 'examination':20A 'exploit':126C 'file':105C 'function':54B,95C 'getexams/mysqldb':100C 'getreport':102C 'getresults/mysqldb':98C 'host':27B 'id':7A,45B 'id/user/topic':114C 'include/database.php':60B 'inform':151C,163C 'initi':123C 'inject':5A,30B,65B,118C 'issu':170C 'itsmeravitejak':33B,84C 'latestexamid/mysqldb':101C 'lead':115C 'manipul':110C 'may':121C,132C 'model':141C 'mysql':22B 'mysqldb':56B,96C 'noresults/mysqldb':99C 'onlin':1A,35B,86C 'online':19A 'online-examination-system':18A,34B,85C 'paramet':11A 'php':24B,38B 'problem':166C 'product':136C 'project':161C 'proper':51B 'public':130C 'queri':42B 'read':68B 'releas':140C,156C 'remot':62B,124C 'report':171C 'respond':175C 'result':148C 'results.php':58B,107C 'results.php/include/database.php.':106C 'roll':139C 'secur':78C 'self':26B 'self-host':25B 'specif':149C 'sql':4A,29B,66B,117C 'sql-inject':28B 'store':73B 'system':3A,21A,37B,88C 'topic':10A,48B 'unauthent':31B 'updat':145C,155C 'use':134C,137C 'user':8A,46B 'valid/mysqldb':97C 'version':150C 'vulner':79C 'without':50B 'yet':176C","nicknames":[],"mitigations":[],"who_affected":"Anyone running the Online-Examination-System PHP app (a hobby/teaching project) at any commit; the code is unchanged since 2016. results.php needs no login, so any internet-reachable install lets an attacker read the exam_res table (usernames, scores, timestamps) and possibly other tables, and the DB user is root by default. Skip it if you do not run this project or the app is only reachable on a private network.","tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-18T04:16:35+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"cna@vuldb.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-111872","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-111872","severity":null,"published_at":"2026-10-18T04:16:35+00:00","modified_at":"2026-10-19T22:17:04+00:00","first_seen_at":"2026-10-23T21:57:14+00:00","fetched_at":"2026-10-23T22:28:55+00:00","note":null},{"source":"analyst","external_id":"CVE-2026-111872:782","url":null,"severity":null,"published_at":"2026-10-25T03:44:36+00:00","modified_at":"2026-10-25T03:44:36+00:00","first_seen_at":"2026-10-25T03:44:36+00:00","fetched_at":"2026-10-25T03:44:36+00:00","note":"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":[{"id":3313,"url":"https://github.com/itsmeravitejak/Online-Examination-System/issues/6","title":"SQL injection in results.php (id, user and topic parameters) without authentication","kind":"issue","source":"analyst","text":null,"published_at":null,"relation":"advisory","confidence":null,"note":null},{"id":3316,"url":"https://github.com/itsmeravitejak/Online-Examination-System/commits/master","title":"Commit history, master (head e6208e6, Dec 2016)","kind":"other","source":"analyst","text":null,"published_at":null,"relation":"mentions","confidence":null,"note":null}],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}