Advisory Database
  • Advisories
  • Dependency Scanning
  1. composer
  2. ›
  3. codeigniter4/framework
  4. ›
  5. CVE-2026-63221

CVE-2026-63221: CodeIgniter: SQL injection in Query Builder deleteBatch() when used with where() conditions

August 7, 2026

A SQL injection vulnerability exists in the Query Builder’s deleteBatch() method. When deleteBatch() is used together with where() conditions, the bound values from the WHERE clause are substituted directly into the generated SQL with their escape flag ignored, so they are never escaped or quoted. If an application passes user-controlled input to where() before calling deleteBatch(), that input is interpreted as SQL rather than as a value, allowing SQL injection.

This affects only the deleteBatch() code path. Regular delete() operations escape where() binds correctly.

References

  • github.com/advisories/GHSA-c9w5-rwh3-7pm9
  • github.com/codeigniter4/CodeIgniter4/commit/f5e463b9a3e986389ce285963e51a7f1fab6559f
  • github.com/codeigniter4/CodeIgniter4/releases/tag/v4.7.4
  • github.com/codeigniter4/CodeIgniter4/security/advisories/GHSA-c9w5-rwh3-7pm9
  • nvd.nist.gov/vuln/detail/CVE-2026-63221

Code Behaviors & Features

Detect and mitigate CVE-2026-63221 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →

Affected versions

All versions starting from 4.3.0 before 4.7.4

Fixed versions

  • 4.7.4

Solution

Upgrade to version 4.7.4 or above.

Impact 9.4 CRITICAL

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:H

Learn more about CVSS

Weakness

  • CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')

Source file

packagist/codeigniter4/framework/CVE-2026-63221.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sat, 08 Aug 2026 00:18:23 +0000.