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.

Severity (CVSS 3.1)9.4Critical
Exploit odds (30 days)0.6%top 50.5% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack toolingNoneno public tooling known

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

EcosystemPackageFixed inAdvisory
Packagistcodeigniter4/framework4.7.4GHSA-c9w5-rwh3-7pm9
Ubuntu:24.04:LTSphp-codeigniter-frameworkno fix listedUBUNTU-CVE-2026-63221
Ubuntu:26.04:LTSphp-codeigniter-frameworkno fix listedUBUNTU-CVE-2026-63221
Ubuntu:26.10php-codeigniter-frameworkno fix listedUBUNTU-CVE-2026-63221

Affected products (as reported)

VendorProductVersions
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

References