IPBUF安全漏洞报告
English
CVE-2026-4601 CVSS 8.7 高危

CVE-2026-4601 jsrsasign密钥恢复漏洞

披露日期: 2026-03-23

漏洞信息

漏洞编号
CVE-2026-4601
漏洞类型
密钥恢复漏洞
CVSS评分
8.7 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
jsrsasign

相关标签

密钥恢复jsrsasignDSA逻辑漏洞高危

漏洞概述

jsrsasign库在11.1.1之前的版本中存在严重的加密步骤缺失漏洞。该漏洞源于DSA签名实现中的逻辑缺陷,攻击者可以通过特定的方式强制签名参数r或s为零。由于库在遇到此类异常签名时未进行重试操作,而是直接返回无效签名,攻击者可利用该数学特性通过解方程恢复出私钥,导致严重的密钥泄露风险。

技术细节

该漏洞位于`KJUR.crypto.DSA.signWithMessageHash`过程中。DSA签名算法要求生成的签名参数r和s均不能为零,否则会破坏算法的安全性并导致私钥可被计算。在受影响的版本中,当随机数k导致r或s为零时,库未抛出错误或重新生成k,而是接受了该无效签名。利用原理基于DSA签名方程:s = k^-1(H(m) + xr) mod q。如果攻击者能迫使s=0,则方程变为0 = H(m) + xr mod q,即x = -H(m) * r^-1 mod q。由于H(m)(消息哈希)和r(签名的一部分)是公开的,攻击者可以直接计算出私钥x,从而完全破解该DSA密钥对。

攻击链分析

STEP 1
侦察
识别目标系统是否使用了jsrsasign库且版本低于11.1.1。
STEP 2
漏洞利用
攻击者通过发送大量签名请求或利用特定输入,触发DSA签名过程中的漏洞,迫使库生成r或s为零的无效签名。
STEP 3
密钥恢复
获取包含零值的无效签名及原始消息,利用模逆运算数学公式直接求解出DSA私钥。
STEP 4
后渗透
利用恢复出的私钥伪造合法签名,冒充受害者身份进行未授权操作。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// This PoC demonstrates the key recovery calculation if a vulnerable signature (s=0) is obtained. // Vulnerable environment: jsrsasign < 11.1.1 const { KJUR } = require('jsrsasign'); // Scenario: Attacker captures a message and a vulnerable signature where s=0 const message = "Target Message"; const sigHex = "00000000..."; // Hex string where s component is 0 // Parse the signature to get r and s const sig = new KJUR.crypto.Signature({"alg": "SHA1withDSA"}); sig.init({"d": "dummy_priv_key", "p": "...", "q": "...", "g": "..."}); // Context for parsing // In a real attack, the attacker observes the signature (r, 0) // and knows the message hash H(m). // The private key x can be calculated as: // x = -H(m) * r^(-1) mod q console.log("[!] If s=0, Private Key (x) is directly compromised via:"); console.log("x = -Hash(message) * modular_inverse(r, q)"); // Note: Forcing s=0 in the actual library requires triggering the internal bug // repeatedly until the random nonce k results in s=0.

影响范围

jsrsasign < 11.1.1

防御指南

临时缓解措施
如果无法立即升级,建议在应用层面实施额外的签名验证逻辑,确保生成的DSA签名中r和s参数不为零。同时,强烈建议轮换所有在受影响版本期间使用过的DSA私钥,因为它们可能已经被泄露。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表