CVE-2024-12486 Overview
CVE-2024-12486 is a SQL injection vulnerability in code-projects Online Class and Exam Scheduling System 1.0. The flaw resides in the /pages/rank_update.php script, where the id parameter is passed directly into a SQL query without proper sanitization. Attackers can exploit this issue remotely over the network with low-privilege authentication. The exploit has been publicly disclosed, increasing the likelihood of opportunistic attacks against exposed installations. The vulnerability is tracked under [CWE-74: Improper Neutralization of Special Elements in Output Used by a Downstream Component (Injection)].
Critical Impact
Remote attackers with low-level access can manipulate the id parameter in rank_update.php to inject arbitrary SQL, exposing or modifying backend database contents.
Affected Products
- Fabian Online Class and Exam Scheduling System 1.0
- Component: /pages/rank_update.php
- CPE: cpe:2.3:a:fabian:online_class_and_exam_scheduling_system:1.0
Discovery Timeline
- 2024-12-12 - CVE-2024-12486 published to NVD
- 2026-06-17 - Last updated in NVD database
Technical Details for CVE-2024-12486
Vulnerability Analysis
The vulnerability affects the rank update workflow in the Online Class and Exam Scheduling System. The /pages/rank_update.php endpoint accepts an id parameter that is concatenated into a SQL statement without parameterization or input validation. This allows an attacker to break out of the intended query context and append arbitrary SQL clauses. Because the flaw is exploitable over the network and requires only low-privilege access, any authenticated user of the application can leverage it against the backend database.
Root Cause
The root cause is improper neutralization of user-supplied input in a database query, categorized under [CWE-74]. The application does not use prepared statements or bind variables when constructing the SQL used by rank_update.php. As a result, metacharacters supplied through the id parameter are interpreted as SQL syntax rather than data values.
Attack Vector
Exploitation occurs remotely via crafted HTTP requests to the vulnerable PHP endpoint. An authenticated attacker submits a manipulated id value containing SQL payload fragments, such as boolean-based, union-based, or time-based injection primitives. Successful exploitation can expose ranking data, enumerate database schema, extract credentials from other tables, or modify records depending on the database user's privileges. Public disclosure details are referenced in the GitHub CVE Document and VulDB entry #287868.
Detection Methods for CVE-2024-12486
Indicators of Compromise
- HTTP requests to /pages/rank_update.php containing SQL metacharacters such as single quotes, UNION SELECT, SLEEP(, --, or # in the id parameter.
- Web server logs showing anomalous response sizes or extended response times for requests targeting rank_update.php.
- Database error messages referencing syntax errors originating from the rank update workflow.
Detection Strategies
- Deploy Web Application Firewall (WAF) signatures that match SQL injection payload patterns targeting the id parameter.
- Enable database query auditing to identify malformed or unexpectedly complex queries emitted by the application.
- Correlate authentication logs with rank_update.php access patterns to identify low-privilege accounts probing the endpoint.
Monitoring Recommendations
- Alert on repeated 500-series responses from /pages/rank_update.php, which often indicate injection probing.
- Monitor outbound database traffic for schema enumeration queries such as information_schema.tables reads.
- Track any changes to ranking or grade tables that originate outside normal administrative workflows.
How to Mitigate CVE-2024-12486
Immediate Actions Required
- Restrict network exposure of the Online Class and Exam Scheduling System to trusted networks or place it behind a VPN.
- Revoke or rotate credentials for accounts that may have accessed the vulnerable endpoint since deployment.
- Apply the principle of least privilege to the database account used by the application to limit injection impact.
Patch Information
No official vendor patch is currently listed for CVE-2024-12486. Administrators should monitor the code-projects site for updates and consider replacing the vulnerable component with a version that uses parameterized queries. If source code is available, rewrite the query in /pages/rank_update.php to use prepared statements with bound parameters.
Workarounds
- Deploy a WAF rule blocking SQL metacharacters in the id parameter submitted to /pages/rank_update.php.
- Enforce server-side input validation to accept only numeric values for the id parameter before it reaches the database layer.
- Disable or remove the rank_update.php endpoint if the ranking feature is not required in the deployment.
# Example ModSecurity rule to block SQLi patterns targeting rank_update.php
SecRule REQUEST_URI "@contains /pages/rank_update.php" \
"id:1002486,phase:2,deny,status:403,\
chain,msg:'CVE-2024-12486 SQLi attempt on rank_update.php id parameter'"
SecRule ARGS:id "@rx (?i)(union|select|sleep\(|--|#|')" "t:none,t:urlDecodeUni"
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

