<?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>Rsa - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/rsa/</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>Sat, 26 Oct 2024 12:00:00 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/rsa/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>Forge RSA Signature Forgery Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2024-10-26-forge-rsa-signature-forgery/</link><pubDate>Sat, 26 Oct 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-10-26-forge-rsa-signature-forgery/</guid><description>Forge is vulnerable to signature forgery in RSA-PKCS due to ASN.1 extra field, allowing attackers to forge signatures by stuffing garbage bytes within the ASN structure for low public exponent keys (e=3), enabling Bleichenbacher style forgery and affecting npm/node-forge versions less than 1.4.0.</description><content:encoded><![CDATA[<p>The Forge library is susceptible to a signature forgery vulnerability in its RSA-PKCS#1 v1.5 signature verification process. This flaw allows attackers to forge signatures, particularly when low public exponent keys (e=3) are used. The vulnerability stems from the library's acceptance of &quot;garbage&quot; bytes within the ASN.1 structure of the signature, enabling Bleichenbacher-style forgeries. This issue is similar to CVE-2022-24771 but involves adding bytes within the ASN.1 structure instead of outside it. Furthermore, Forge fails to validate that signatures include a minimum of 8 bytes of padding as defined by RFC 2313, providing attackers with additional space for constructing forgeries. This affects deployments using <code>npm/node-forge</code> versions less than 1.4.0, specifically tested on v1.3.3 and recent prior versions.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker crafts a malicious payload, targeting systems using the vulnerable Forge library for RSA signature verification.</li>
<li>The attacker generates a fresh RSA keypair (4096 bits, e=3) using the crypto library in Node.js.</li>
<li>The attacker computes a forged signature candidate by constructing a malicious ASN.1 structure with garbage bytes, exploiting the ASN.1 parsing vulnerability within Forge's <code>_parseAllDigestBytes</code> function.</li>
<li>The attacker leverages cube-root interval construction, to compute a forged candidate and generates a PKCS#1 v1.5 signature block that bypasses Forge’s validation.</li>
<li>Forge's <code>key.verify</code> function processes the forged signature with the default RSASSA-PKCS1-v1_5 scheme and <code>_parseAllDigestBytes: true</code>.</li>
<li>Due to the vulnerability, Forge incorrectly validates the forged signature, even though it contains extraneous data within the ASN.1 structure.</li>
<li>Node/OpenSSL verification, used as a baseline, rejects the forged signature, highlighting the discrepancy.</li>
<li>Successful exploitation leads to bypassing signature verification, potentially allowing unauthorized code execution or data manipulation, depending on the application's use of Forge.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows attackers to bypass signature verification checks in applications using the Forge library. This could lead to unauthorized access, code execution, or data manipulation. Given the widespread use of Forge in various JavaScript-based applications, the impact could be significant, affecting numerous systems and users. The vulnerability has been assigned CVE-2026-33894 with a severity rating of High. Affected packages include npm/node-forge versions less than 1.4.0.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade the <code>npm/node-forge</code> package to version 1.4.0 or later to remediate CVE-2026-33894.</li>
<li>Apply the provided patch to enforce PKCS#1 v1.5 BT=0x01 minimum padding length (<code>PS &gt;= 8</code>) in <code>_decodePkcs1_v1_5</code> as described in the Suggested Patch section.</li>
<li>Update the RSASSA-PKCS1-v1_5 verifier to require canonical DigestInfo structure only (no extra attacker-controlled ASN.1 content beyond expected fields) as described in the Suggested Patch section.</li>
<li>Deploy the Sigma rule <code>Detect Forge RSA Signature Forgery</code> to identify exploitation attempts based on process execution patterns.</li>
<li>Monitor web server logs for unusual requests that may indicate attempts to exploit this vulnerability, focusing on systems that utilize the vulnerable Forge library (logsource: <code>webserver</code>).</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>forge</category><category>rsa</category><category>signature-forgery</category><category>bleichenbacher</category></item></channel></rss>