<?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>Atom-Exhaustion — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/atom-exhaustion/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata — refreshed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Wed, 06 May 2026 12:00:00 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/atom-exhaustion/feed.xml" rel="self" type="application/rss+xml"/><item><title>Plug.Cowboy HTTP/2 Atom Table Exhaustion DoS</title><link>https://feed.craftedsignal.io/briefs/2026-05-plug-cowboy-dos/</link><pubDate>Wed, 06 May 2026 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-plug-cowboy-dos/</guid><description>An unauthenticated remote denial-of-service vulnerability in Plug.Cowboy allows attackers to exhaust the BEAM atom table via HTTP/2 requests, crashing the Erlang VM.</description><content:encoded><![CDATA[<p>A denial-of-service vulnerability exists in Plug.Cowboy versions prior to 2.8.1. This vulnerability allows an unauthenticated remote attacker to crash an Erlang VM by exhausting the BEAM atom table. The attack is performed by sending malicious HTTP/2 requests to a Plug.Cowboy listener. Successful exploitation leads to a complete denial of service, as the entire Erlang VM terminates. Phoenix applications using plug_cowboy with HTTP/2 enabled are also affected. Projects utilizing alternative HTTP adapters like Bandit are not susceptible to this specific vulnerability. The issue was identified and responsibly disclosed by Peter Ullrich.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker identifies a target server running Plug.Cowboy with HTTP/2 enabled.</li>
<li>The attacker crafts a series of HTTP/2 requests with a malformed or excessive number of <code>:scheme</code> header fields or other header fields that contribute to atom creation.</li>
<li>The attacker sends the crafted HTTP/2 requests to the target server.</li>
<li>Plug.Cowboy processes the HTTP/2 requests, allocating a new atom for each unique header field value received.</li>
<li>The attacker continues sending malicious requests, rapidly increasing the number of atoms in the Erlang VM.</li>
<li>The BEAM atom table reaches its maximum capacity due to the attacker&rsquo;s crafted requests.</li>
<li>The Erlang VM crashes due to atom exhaustion, leading to a denial-of-service condition.</li>
<li>The application using Plug.Cowboy becomes unavailable, disrupting service.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability results in a complete denial-of-service condition. All applications running on the affected Erlang VM will crash, impacting availability and potentially causing data loss. The number of victims depends on the deployment of Plug.Cowboy and Phoenix applications using HTTP/2. The vulnerability impacts any organization utilizing the affected software, potentially disrupting critical services.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to <code>plug_cowboy</code> version 2.8.1 or later to patch CVE-2026-32688.</li>
<li>If upgrading is not immediately feasible, consider disabling HTTP/2 on affected Plug.Cowboy instances as a temporary mitigation.</li>
<li>Deploy a web application firewall (WAF) to filter HTTP/2 requests with suspicious header patterns, mitigating potential exploitation attempts.</li>
<li>Monitor webserver logs for excessive or malformed HTTP/2 requests, which might indicate an attempted atom table exhaustion attack.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>denial-of-service</category><category>http2</category><category>atom-exhaustion</category></item></channel></rss>