Vulnerability · Published Jul 31, 2026 · Assigned by GitHub_M
CVE-2026-63221CodeIgniter: SQL injection is possible via Query Builder deleteBatch() when used with where() conditions
Critical 9.4
In plain English
A critical-severity SQL injection in CodeIgniter4 from codeigniter4. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.6% (higher than 50% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official 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 packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Packagist | codeigniter4/framework | 4.7.4 | GHSA-c9w5-rwh3-7pm9 |
| Ubuntu:24.04:LTS | php-codeigniter-framework | no fix listed | UBUNTU-CVE-2026-63221 |
| Ubuntu:26.04:LTS | php-codeigniter-framework | no fix listed | UBUNTU-CVE-2026-63221 |
| Ubuntu:26.10 | php-codeigniter-framework | no fix listed | UBUNTU-CVE-2026-63221 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| codeigniter4 | CodeIgniter4 | >= 4.3.0, < 4.7.4 |
Weakness: CWE-89 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:H