<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Codeigniter4 - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/codeigniter4/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Fri, 07 Aug 2026 21:30:54 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/codeigniter4/feed.xml" rel="self" type="application/rss+xml"/><item><title>SQL Injection in CodeIgniter4 Query Builder deleteBatch Method</title><link>https://feed.craftedsignal.io/briefs/2026-08-codeigniter-sqli/</link><pubDate>Fri, 07 Aug 2026 21:30:54 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-08-codeigniter-sqli/</guid><description>A SQL injection vulnerability in CodeIgniter4 (CVE-2026-63221) allows unauthenticated attackers to execute arbitrary SQL via improperly handled where() clauses when using the deleteBatch() method.</description><content:encoded><![CDATA[<p>A critical SQL injection vulnerability (CVE-2026-63221) exists within the CodeIgniter4 framework, specifically affecting the Query Builder's <code>deleteBatch()</code> method. When developers utilize <code>deleteBatch()</code> in conjunction with <code>where()</code> conditions, the framework fails to enforce proper escaping on bound values within the <code>WHERE</code> clause. This oversight results in the direct substitution of these values into the generated SQL string. If an application accepts user-supplied input and passes it into a <code>where()</code> condition before invoking <code>deleteBatch()</code>, an attacker can inject malicious SQL syntax. This vulnerability affects CodeIgniter4 versions from 4.3.0 up to, but not including, 4.7.4. The vulnerability is specific to the <code>deleteBatch()</code> execution path, whereas standard <code>delete()</code> operations are unaffected. Organizations utilizing CodeIgniter4 should prioritize upgrading to version 4.7.4 or later to remediate this flaw.</p>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows for arbitrary SQL execution, potentially leading to unauthorized data access, modification, or complete database compromise. This impacts any web application built on the affected versions of CodeIgniter4 that performs batch deletions based on user-supplied criteria.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to CodeIgniter4 version 4.7.4 or later immediately.</li>
<li>Audit application code for instances where <code>deleteBatch()</code> is used in combination with <code>where()</code> clauses that ingest unsanitized user input.</li>
<li>Implement strict input validation and casting for all parameters passed to <code>where()</code> calls if immediate upgrading is not possible.</li>
<li>Transition user-controlled conditional deletions to use the standard <code>delete()</code> method with proper query binding instead of <code>deleteBatch()</code>.</li>
<li>Use <code>onConstraint()</code> to define batch matching criteria rather than relying on external <code>where()</code> conditions.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>web-vulnerability</category><category>sqli</category><category>codeigniter4</category></item></channel></rss>