What’s Vulnerable › Vulnerabilities
CVE-2026-63221: CodeIgniter: SQL injection is possible via Query Builder deleteBatch() when used with where() conditions
- Severity: critical (CVSS 9.4 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.6% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-07-31 · updated 2026-09-08
- Weakness: CWE-89
Description
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.
Affected products
- CodeIgniter4: from 4.3.0, < 4.7.4
References
- https://github.com/codeigniter4/CodeIgniter4/commit/f5e463b9a3e986389ce285963e51a7f1fab6559f
- https://github.com/codeigniter4/CodeIgniter4/releases/tag/v4.7.4
- https://github.com/codeigniter4/CodeIgniter4/security/advisories/GHSA-c9w5-rwh3-7pm9
Get alerted when CVE-2026-63221 or the next vulnerability affects your stack