Horizon Alert
Summary of the vulnerability and why it matters
A vulnerability has been identified in a component of the CodeIgniter web framework that could allow malicious actors to execute arbitrary SQL commands. This issue stems from improper handling of database query parameters within a specific function, potentially leading to unauthorized data modification or retrieval. The main concern at this time is confirming whether this specific function is utilized within our deployed CodeIgniter applications.
- Query builder can be manipulated to inject malicious SQL.
- Affects web applications using specific framework functions.
- Confirm relevance and exposure within our systems.
Attack Path
How an attacker could exploit the issue
An attacker could exploit this vulnerability by sending specially crafted input to a web application built with a vulnerable version of CodeIgniter. The application's `deleteBatch()` function incorrectly processes user-supplied data intended for database queries, allowing that data to be treated as SQL commands. This could lead to unauthorized data modification and deletion.
- Requires unauthenticated network access.
- Triggered by specific `deleteBatch()` calls.
- Risk of data manipulation and loss.
Live Threat
Current exploitation, exposure, and threat context
In CodeIgniter versions 4.3.0 through 4.7.3, a flaw in the `deleteBatch()` function could allow specially crafted input to be interpreted as SQL commands when constructing delete operations. This could affect data integrity and system availability.
- Database records could be modified or deleted.
- User-controlled input can bypass SQL escaping.
- Data loss or service disruption may occur.
Operational Fix
Recommended remediation, mitigation, and detection steps
Application owners and platform teams responsible for CodeIgniter deployments must act. The first practical step is to identify all instances of the affected CodeIgniter versions, confirm their exposure and business criticality, and then establish ownership for remediation. Prioritize environments that are internet-facing or handle sensitive data.
- Identify affected CodeIgniter instances.
- Verify exposure and business criticality.
- Plan and coordinate vendor-supported fix.