<?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/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>Joserfc (&lt; 1.7.5) - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/joserfc--1.7.5/</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>Thu, 12 Nov 2026 03:54:36 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/joserfc--1.7.5/feed.xml" rel="self" type="application/rss+xml"/><image><url>https://feed.craftedsignal.io/favicon-32x32.png</url><title>CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/</link><width>32</width><height>32</height></image><webfeeds:icon>https://feed.craftedsignal.io/favicon.svg</webfeeds:icon><item><title>joserfc: CPU exhaustion via unbounded JWE recipients array</title><link>https://feed.craftedsignal.io/briefs/2026-11-joserfc-cpu-exhaustion-ghsa-jpxq-7h8p-2q76/</link><pubDate>Thu, 12 Nov 2026 03:54:36 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-11-joserfc-cpu-exhaustion-ghsa-jpxq-7h8p-2q76/</guid><description>An unauthenticated remote attacker can cause a denial-of-service by submitting a specially crafted JWE General JSON object containing an unbounded number of recipients, forcing the server to perform an excessive number of expensive RSA private-key decryption operations.</description><content:encoded><![CDATA[<p>The joserfc library version 1.7.4 and earlier is vulnerable to a CPU exhaustion Denial of Service (DoS) attack. The library's <code>decrypt_json()</code> function parses JWE General JSON Serialization objects without enforcing an upper bound on the number of entries in the <code>recipients</code> array. An attacker can craft a JWE payload with a large number of RSA-OAEP recipients, forcing the vulnerable application to perform an RSA private-key decryption operation for every recipient present. This behavior occurs unconditionally, even if <code>verify_all_recipients=False</code> is set, leading to high CPU usage relative to the size of the submitted request.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker generates a valid JWE General JSON object using the victim's public RSA key.</li>
<li>Attacker adds an arbitrary, large number of recipients to the JWE <code>recipients</code> array.</li>
<li>Attacker sends the crafted JSON object to a target endpoint that uses <code>joserfc.jwe.decrypt_json()</code>.</li>
<li><code>joserfc</code> parser iterates through the full <code>recipients</code> array without checking the count.</li>
<li>The library unconditionally invokes <code>decrypt_recipient()</code> for each entry in the list.</li>
<li>For each recipient, the library performs a computationally expensive RSA private-key decryption operation.</li>
<li>High CPU usage is sustained for the duration of these operations, resulting in service degradation or availability loss.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation results in a Denial of Service (DoS) via resource exhaustion. The vulnerability is highly asymmetric, where relatively small malicious HTTP requests induce disproportionately high CPU load on the victim's server. No confidentiality or integrity impact was observed.</p>
<h2 id="recommendation">Recommendation</h2>
<p>Upgrade <code>joserfc</code> to version 1.7.5 or later. If upgrading is not immediately possible, implement a request-size limit at the Web Application Firewall (WAF) or application gateway level that corresponds to a reasonable number of recipients to mitigate the attack surface until the library is patched.</p>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>denial-of-service</category><category>cwe-400</category><category>joserfc</category><category>python</category><category>cryptography</category></item></channel></rss>