CodeIgniter: SQL injection is possible via Query Builder deleteBatch() when used with where() conditions
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- SQL injection
- Confidentiality · integrity · availability
- Low · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-89.
Summary
CodeIgniter is a PHP full-stack web framework. From 4.3.0 through 4.7.3, Query Builder deleteBatch() substitutes bound values from where() conditions into generated SQL while ignoring their escape flags, allowing user-controlled condition values to be interpreted as SQL. This affects only the deleteBatch() code path. Regular delete() operations escape where() binds correctly. This issue is fixed in version 4.7.4.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| codeigniter4 | CodeIgniter4 | 4.3.0 to before 4.7.4 | 4.7.4 | Patch available | CNA |
| — | codeigniter4/framework (Packagist) | 4.3.0 to before 4.7.4 | 4.7.4 | Patch available | GHSA-c9w5-rwh3-7pm9 |
- CodeIgniter4 Vendorcodeigniter4 Affected 4.3.0 to before 4.7.4 Fixed in 4.7.4 Patch available CNA
- codeigniter4/framework (Packagist) Vendor— Affected 4.3.0 to before 4.7.4 Fixed in 4.7.4 Patch available GHSA-c9w5-rwh3-7pm9
CPE names Threatist (inferred) · 1
Inferred from how NVD named this product before; not given by a source.
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:codeigniter:codeigniter:*:*:*:*:*:*:*:* | — | — | codeigniter4 |
- cpe:2.3:a:codeigniter:codeigniter:*:*:*:*:*:*:*:* Versions — — ·codeigniter4
Remediation
- Fix · CNA CodeIgniter4 (codeigniter4) Fixed in 4.7.4
- Fix · GHSA-c9w5-rwh3-7pm9 codeigniter4/framework (Packagist) Fixed in 4.7.4 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-63221
- 2026-10-03 Alias added: GHSA-c9w5-rwh3-7pm9
References
More codeigniter4 vulnerabilities
- TI-2014-07135 CodeIgniter before 3.0 and Kohana 3.2.3 and earlier and 3.3.x through 3.3.2 make it… CVSS 3.0CRITICAL 9.8
- TI-2022-16370 SameSite may allow cross-site request forgery (CSRF) protection to be bypassed CVSS 3.1HIGH 8.8
- TI-2022-06025 Deserialization of Untrusted Data in Codeigniter4 CVSS 3.1CRITICAL 9.8
- TI-2024-27591 A Cross-Site Request Forgery (CSRF) in Codeigniter 3.1.13 allows attackers to arbitrarily… CVSS 3.1HIGH 7.5
- TI-2014-07136 CodeIgniter before 2.2.0 makes it easier for attackers to decode session cookies by… CVSS 3.0CRITICAL 9.8
- TI-2024-19671 CodeIgniter4 Language class DoS Vulnerability CVSS 3.1HIGH 7.5
Sources
- CVE-2026-63221 · CVE Program
- CVE-2026-63221 · NVD
- FIRST EPSS
- GHSA-c9w5-rwh3-7pm9 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences