<?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>Cve-2026-59199 - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/cve-2026-59199/</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>Mon, 20 Jul 2026 21:14:14 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/cve-2026-59199/feed.xml" rel="self" type="application/rss+xml"/><item><title>Pillow BdfFontFile Decompression Bomb Bypass Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2026-07-pillow-bdf-bomb-bypass/</link><pubDate>Mon, 20 Jul 2026 21:14:14 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-07-pillow-bdf-bomb-bypass/</guid><description>A vulnerability (CVE-2026-55379) in Pillow's BdfFontFile component allows attackers to craft a malicious BDF font file with oversized BBX dimensions and an empty BITMAP section, bypassing documented decompression bomb protection and causing the Image.new() function to silently allocate large amounts of memory in the C-heap, leading to resource exhaustion and denial-of-service for applications processing untrusted BDF fonts.</description><content:encoded><![CDATA[<p>The Pillow imaging library, a critical component in many Python applications, contains a denial-of-service vulnerability (CVE-2026-55379) in its <code>BdfFontFile</code> component, affecting versions prior to 12.3.0. This flaw allows an attacker to bypass Pillow's documented decompression bomb protection mechanism by crafting a malicious BDF font file. Specifically, when a BDF file defines a glyph with excessively large dimensions in its <code>BBX</code> field (e.g., <code>20000 20000</code>) but an empty <code>BITMAP</code> section, the <code>Image.frombytes()</code> call fails. The fallback <code>Image.new()</code> function then allocates a substantial amount of memory in the C-heap (e.g., 50 MB for a single glyph) without performing the necessary <code>_decompression_bomb_check()</code>. This silent, unbounded memory allocation, especially when combined with multiple such glyphs, can quickly exhaust system resources, leading to a denial-of-service condition for any application that processes untrusted BDF fonts.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker crafts a specially malicious BDF font file containing glyph definitions.</li>
<li>For each target glyph, the attacker sets an extremely large <code>BBX</code> (bounding box) width and height, such as <code>BBX 20000 20000</code>.</li>
<li>The attacker ensures the <code>BITMAP</code> section for these glyphs is left empty, forcing a specific error condition during parsing.</li>
<li>A vulnerable application, using a Pillow version older than 12.3.0, attempts to load this malicious BDF font file via <code>ImageFont.load()</code> or <code>BdfFontFile()</code>.</li>
<li>During the <code>bdf_char()</code> function's processing of the malicious glyph, <code>Image.frombytes()</code> is called.</li>
<li>Due to the empty <code>BITMAP</code> section, <code>Image.frombytes()</code> raises a <code>ValueError</code>.</li>
<li>The code then executes a fallback: <code>Image.new(&quot;1&quot;, (width, height))</code> is called with the attacker-controlled large dimensions.</li>
<li>Crucially, <code>Image.new()</code> in this specific code path does not invoke Pillow's <code>_decompression_bomb_check()</code>, leading to silent, massive C-heap memory allocation (e.g., ~50 MB per <code>20000x20000</code> glyph). Repeated allocations from multiple glyphs (e.g., 256 glyphs allocating ~1.95 GB) cause resource exhaustion and a denial-of-service condition for the application.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>The primary impact of this vulnerability is a high risk to availability. An attacker can trigger unbounded memory allocation in applications that process untrusted BDF font files. A single malicious BDF glyph can cause tens of megabytes of memory allocation, and multiple glyphs can quickly lead to gigabytes of memory consumption (e.g., 256 glyphs causing 1.95 GB allocation) in the C-heap. This resource exhaustion results in denial-of-service, crashing the application or the host system. Any service loading BDF fonts from untrusted sources (e.g., <code>ImageFont.load(&quot;user.bdf&quot;)</code>, <code>BdfFontFile(fp)</code>) is affected, regardless of the underlying operating system. The allocated glyph images persist in memory for the lifetime of the font object, preventing immediate memory recovery.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Patch affected systems by upgrading the Pillow library to version 12.3.0 or later immediately to address CVE-2026-55379.</li>
<li>Implement input validation and sanitization for all BDF font files processed by applications to prevent untrusted or malformed files from being loaded, thereby mitigating the risk described in CVE-2026-55379.</li>
<li>Monitor applications that process image or font files for sudden, anomalous spikes in memory consumption, which could indicate a resource exhaustion attack exploiting this type of vulnerability.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>pillow</category><category>vulnerability</category><category>denial-of-service</category><category>python</category><category>heap-overflow</category><category>integer-overflow</category><category>image-processing</category><category>python-library</category><category>cve-2026-59199</category><category>rce</category><category>dos</category></item></channel></rss>