CVE-2024-5048 Overview
CVE-2024-5048 is a SQL injection vulnerability in code-projects Budget Management 1.0. The flaw resides in the /index.php file, where the edit parameter is passed to a database query without proper sanitization. Attackers can manipulate the edit argument to inject arbitrary SQL statements against the backend database. The vulnerability is exploitable remotely over the network and requires only low-privilege authentication. Public exploit details have been disclosed, increasing the risk of opportunistic exploitation against exposed instances.
Critical Impact
Authenticated remote attackers can inject SQL through the edit parameter in /index.php, leading to unauthorized read or modification of database contents in Budget Management 1.0.
Affected Products
- code-projects Budget Management 1.0
- Deployments exposing /index.php to untrusted networks
- Installations without input sanitization patches applied
Discovery Timeline
- 2024-05-17 - CVE-2024-5048 published to NVD
- 2025-03-03 - Last updated in NVD database
Technical Details for CVE-2024-5048
Vulnerability Analysis
The vulnerability is classified as SQL Injection [CWE-89]. It affects the /index.php script in code-projects Budget Management 1.0, a PHP-based web application for tracking budgets. The application accepts an edit parameter through the HTTP request and incorporates its value directly into a SQL query. Because the input is not parameterized or escaped, an attacker can append SQL syntax that alters the original query logic.
Successful exploitation allows attackers to read, modify, or delete records in the backing database. Depending on database privileges, attackers may also enumerate schema information, dump credentials, or pivot to broader compromise. The attack proceeds over the network and does not require user interaction, though it does require a low-privilege account.
Root Cause
The root cause is improper neutralization of special elements used in a SQL command. The application concatenates the untrusted edit value into a SQL statement instead of using prepared statements or parameter binding. Standard input validation routines for integer or whitelist-based values are absent on this code path.
Attack Vector
An attacker authenticated to the Budget Management application issues a crafted HTTP request to /index.php with a malicious edit parameter value. The injected payload terminates the original query context and appends attacker-controlled SQL. The backend database executes the resulting statement, returning data or modifying records according to the injection. A public proof-of-concept describing the request structure is available from the GitHub SQL Injection PoC and the VulDB entry #264745.
Detection Methods for CVE-2024-5048
Indicators of Compromise
- HTTP requests to /index.php containing SQL meta-characters such as ', --, UNION SELECT, or OR 1=1 in the edit parameter
- Database error messages returned in HTTP responses referencing MySQL syntax
- Unusual SELECT, UPDATE, or INFORMATION_SCHEMA queries from the application user in database logs
- Authenticated sessions issuing repeated requests to /index.php?edit= with varying payload lengths
Detection Strategies
- Inspect web server access logs for anomalous values in the edit query string parameter on /index.php
- Enable database query logging and alert on schema enumeration patterns originating from the application account
- Deploy a web application firewall with SQL injection signatures tuned for edit parameter abuse
- Correlate authentication events with subsequent injection attempts to identify compromised low-privilege accounts
Monitoring Recommendations
- Forward web and database logs to a centralized analytics platform for cross-source correlation
- Baseline normal query patterns from the Budget Management application and alert on deviations such as UNION-based queries
- Monitor for outbound data transfers following suspicious /index.php requests, which may indicate data exfiltration
How to Mitigate CVE-2024-5048
Immediate Actions Required
- Restrict network access to the Budget Management application using firewall rules or VPN-only access until a fix is applied
- Audit application accounts and disable any low-privilege accounts that are not actively needed
- Review web server and database logs for prior exploitation attempts referencing the edit parameter
- Rotate database credentials if injection activity is suspected
Patch Information
No vendor advisory or official patch has been published for code-projects Budget Management 1.0 at the time of this writing. Organizations using this application should consider it unmaintained and plan to migrate to a supported alternative. If continued use is required, apply source-level fixes that replace string concatenation in /index.php with parameterized queries using PDO or MySQLi prepared statements.
Workarounds
- Deploy a web application firewall rule blocking SQL meta-characters in the edit parameter on /index.php
- Apply server-side input validation that restricts edit to numeric values only before reaching database logic
- Configure the database account used by the application with the minimum privileges required, removing DROP, ALTER, and cross-database access
- Isolate the application behind reverse proxy authentication to reduce exposure of the vulnerable endpoint
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


