Vulnerability 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.
CVSS Score
CRITICAL
Related Weaknesses (CWE)
References
- https://github.com/codeigniter4/CodeIgniter4/commit/f5e463b9a3e986389ce285963e51
- https://github.com/codeigniter4/CodeIgniter4/releases/tag/v4.7.4
- https://github.com/codeigniter4/CodeIgniter4/security/advisories/GHSA-c9w5-rwh3-
FAQ
What is CVE-2026-63221?
CVE-2026-63221 is a vulnerability with a CVSS score of 9.4 (CRITICAL). 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 fla...
How severe is CVE-2026-63221?
CVE-2026-63221 has been rated CRITICAL with a CVSS base score of 9.4/10. This is considered a critical vulnerability requiring immediate attention.
Is there a patch for CVE-2026-63221?
Check the references section above for vendor advisories and patch information. Review vendor security bulletins for remediation guidance.