{"id":"UBUNTU-CVE-2026-63221","details":"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.","modified":"2026-08-06T03:13:29.178259552Z","published":"2026-07-31T06:16:00Z","upstream":["CVE-2026-63221"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2026-63221"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2026-63221"}],"affected":[{"package":{"name":"php-codeigniter-framework","ecosystem":"Ubuntu:24.04:LTS","purl":"pkg:deb/ubuntu/php-codeigniter-framework?arch=source&distro=noble"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.1.13+dfsg1-1","3.1.13+dfsg1-2","3.1.13+dfsg1-2ubuntu2","3.1.13+dfsg1-3"],"ecosystem_specific":{"binaries":[{"binary_name":"php-codeigniter-framework","binary_version":"3.1.13+dfsg1-3"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-63221.json"}},{"package":{"name":"php-codeigniter-framework","ecosystem":"Ubuntu:26.04:LTS","purl":"pkg:deb/ubuntu/php-codeigniter-framework?arch=source&distro=resolute"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.1.13+dfsg1-6","3.1.13+dfsg1-8"],"ecosystem_specific":{"binaries":[{"binary_name":"php-codeigniter-framework","binary_version":"3.1.13+dfsg1-8"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-63221.json"}}],"schema_version":"1.8.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:H"},{"type":"Ubuntu","score":"medium"}]}