<?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>Waf-Bypass — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/waf-bypass/</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>Wed, 27 May 2026 19:59:39 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/waf-bypass/feed.xml" rel="self" type="application/rss+xml"/><item><title>CrowdSec AppSec WAF Bypass via Chunked/HTTP-2 Requests</title><link>https://feed.craftedsignal.io/briefs/2026-05-crowdsec-appsec-waf-bypass/</link><pubDate>Wed, 27 May 2026 19:59:39 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-crowdsec-appsec-waf-bypass/</guid><description>CrowdSec AppSec component fails to read the HTTP request body for chunked/HTTP-2 requests, leading to a bypass of WAF rules targeting `REQUEST_BODY`, `BODY_ARGS`, `ARGS_POST`, `JSON`, or `XML`, enabling unauthenticated remote attackers to evade body-inspection pipelines.</description><content:encoded><![CDATA[<p>The CrowdSec AppSec component, up to version 1.7.7, contains a flaw in its request parsing logic. Specifically, the component fails to correctly read the HTTP request body when the <code>Content-Length</code> header is not positive, such as when using <code>Transfer-Encoding: chunked</code> in HTTP/1.1 or when the <code>content-length</code> header is omitted in HTTP/2 requests. This results in Coraza, the underlying WAF engine, evaluating rules against an empty request body. This issue allows an unauthenticated remote attacker to bypass WAF rules designed to inspect request bodies, potentially leading to successful exploitation of vulnerabilities that would otherwise be blocked. Because bypassed requests do not produce a WAF log entry, defenders lack visibility into these bypass attempts. The vulnerability affects any rule with <code>zones</code> containing <code>BODY_ARGS</code>, <code>JSON</code>, <code>XML</code>, <code>REQUEST_BODY</code>, or <code>ARGS_POST</code>.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker crafts a malicious HTTP request designed to exploit a vulnerability that requires sending a malicious payload in the request body.</li>
<li>The attacker sets the <code>Transfer-Encoding</code> header to <code>chunked</code> (HTTP/1.1) or omits the <code>content-length</code> header entirely (HTTP/2).</li>
<li>The malicious request is sent to a server protected by CrowdSec AppSec.</li>
<li>CrowdSec AppSec&rsquo;s <code>NewParsedRequestFromRequest</code> function incorrectly parses the request body, resulting in an empty body being passed to the WAF engine.</li>
<li>The WAF engine evaluates the rules against the empty body, causing all rules targeting <code>REQUEST_BODY</code>, <code>BODY_ARGS</code>, <code>ARGS_POST</code>, <code>JSON</code>, or <code>XML</code> to fail to match.</li>
<li>The malicious request bypasses the WAF&rsquo;s body-inspection pipeline entirely.</li>
<li>The bypassed request is forwarded to the backend server.</li>
<li>The backend server processes the malicious request, potentially leading to successful exploitation of the underlying vulnerability.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows attackers to bypass the body-inspection pipeline of CrowdSec AppSec. This bypass can lead to successful exploitation of vulnerabilities that rely on sending malicious data within the request body. Given the wide adoption of CrowdSec for application security, a significant number of systems are potentially affected. The absence of WAF log entries for bypassed requests further complicates detection and incident response. In default CrowdSec deployments using the standard AppSec collections, this bypass will affect a large number of deployed rulesets.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to a CrowdSec version greater than 1.7.7 to patch CVE-2026-44982.</li>
<li>Deploy the Sigma rule <code>Detect CrowdSec AppSec WAF Bypass via Missing Content-Length</code> to detect requests that may be attempting to exploit this bypass by monitoring HTTP status codes combined with <code>Transfer-Encoding: chunked</code> headers in web server logs.</li>
<li>Deploy the Sigma rule <code>Detect CrowdSec AppSec WAF Bypass via HTTP/2 request without Content-Length</code> to detect requests that may be attempting to exploit this bypass by monitoring HTTP/2 traffic and absence of content-length.</li>
<li>Examine webserver logs for unexpected &ldquo;200 OK&rdquo; responses to requests with large bodies sent using chunked transfer encoding.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>waf-bypass</category><category>appsec</category><category>web-application</category></item></channel></rss>