Skip to main content
CVE Vulnerability Database

CVE-2024-7168: School Fees Payment System SQL Injection

CVE-2024-7168 is a critical SQL injection vulnerability in Oretnom23 School Fees Payment System 1.0 affecting the manage_user.php file. Attackers can manipulate the id parameter remotely to execute unauthorized database queries. This article covers technical details, affected versions, impact assessment, and mitigation strategies.

Published:

CVE-2024-7168 Overview

CVE-2024-7168 is a SQL injection vulnerability in SourceCodester School Fees Payment System 1.0, developed by oretnom23. The flaw exists in the /manage_user.php script, where the id parameter is passed to a database query without proper sanitization. A remote attacker with low privileges can manipulate this parameter to execute arbitrary SQL statements against the backing database. The issue is tracked as VulDB entry 272582, and a public proof-of-concept has been disclosed. The weakness is classified under CWE-89 (Improper Neutralization of Special Elements used in an SQL Command).

Critical Impact

Remote authenticated attackers can inject SQL through the id parameter in /manage_user.php, exposing stored user and payment records to unauthorized read, modification, or deletion.

Affected Products

  • Oretnom23 School Fees Payment System 1.0
  • CPE: cpe:2.3:a:oretnom23:school_fees_payment_system:1.0:*:*:*:*:*:*:*
  • Component: oretnom23:school_fees_payment_system

Discovery Timeline

  • 2024-07-28 - CVE-2024-7168 published to NVD
  • 2026-06-17 - Last updated in NVD database

Technical Details for CVE-2024-7168

Vulnerability Analysis

The vulnerability resides in /manage_user.php, a component of the School Fees Payment System web application. The id request parameter flows directly into a SQL query without parameterization or input validation. An attacker can supply crafted SQL syntax through this parameter and alter the intended query logic. Because the application accepts the request over the network, exploitation does not require local access. The published proof-of-concept demonstrates that the injection point is reachable by any authenticated user of the platform.

Root Cause

The root cause is missing input sanitization and lack of prepared statements when constructing the SQL query using the id parameter. The PHP source concatenates user-controlled input into a query string, allowing attacker-supplied SQL fragments to be executed by the database engine. This is a textbook CWE-89 pattern common in unmaintained PHP applications distributed through code-sharing portals.

Attack Vector

Exploitation is performed remotely through a standard HTTP request to /manage_user.php with a manipulated id parameter. The attacker requires low-privilege authentication to the application. Successful injection can result in extraction of user credentials, tampering with fee payment records, or full database enumeration through UNION-based or boolean-based techniques. Technical details and a working request template are published in the GitHub Gist PoC referenced by VulDB entry 272582.

Detection Methods for CVE-2024-7168

Indicators of Compromise

  • HTTP requests to /manage_user.php containing SQL metacharacters in the id parameter, such as single quotes, UNION SELECT, SLEEP(, or -- comment sequences.
  • Web server access logs showing repeated requests to manage_user.php with numeric id values that vary rapidly or contain URL-encoded SQL syntax (%27, %20OR%20).
  • Database error messages surfaced in application responses referencing MySQL syntax failures tied to the manage_user workflow.

Detection Strategies

  • Deploy web application firewall (WAF) rules that inspect the id parameter on /manage_user.php for SQL injection signatures.
  • Enable database query logging and alert on statements originating from the School Fees Payment System that contain tautologies or stacked queries.
  • Correlate authenticated user sessions with anomalous query volumes against the users and payment tables.

Monitoring Recommendations

  • Baseline normal request patterns to /manage_user.php and alert on deviations in parameter length or character composition.
  • Forward web and database logs to a central analytics platform for cross-source correlation and retrospective hunting.
  • Track failed login attempts followed by rapid access to administrative endpoints, which may indicate credential abuse before injection attempts.

How to Mitigate CVE-2024-7168

Immediate Actions Required

  • Restrict network access to the School Fees Payment System to trusted users through VPN or IP allow-listing until a fix is available.
  • Audit the database service account used by the application and remove any privileges beyond what the application strictly requires.
  • Review recent web and database logs for evidence of exploitation of the id parameter in /manage_user.php.

Patch Information

No vendor patch is listed in the NVD advisory or referenced VulDB entries. Organizations should treat School Fees Payment System 1.0 as unmaintained and plan migration to a supported alternative. Refer to VulDB entry 272582 and the VulDB CTI record for the latest status.

Workarounds

  • Modify /manage_user.php to use parameterized queries (PDO prepared statements or mysqli_prepare) instead of string concatenation for the id parameter.
  • Add server-side validation that constrains id to integer values before passing it to any database call.
  • Place the application behind a WAF configured with OWASP Core Rule Set signatures for SQL injection.
  • Decommission the application if it is no longer required for business operations, given the absence of vendor support.

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.