从这个网页截图中,可以获取到以下关于漏洞的关键信息: 1. 漏洞描述: - 标题:ECDSA signature verification error due to leading zero #322 - 描述:Elliptic package 6.5.7 for Node.js ECDSA implementation does not correctly verify valid signatures if the hash contains at least 4 leading zero bytes and when the order of the elliptic curve's base point is smaller than the hash. This leads to valid signatures being rejected. 2. 受影响的版本: - 版本:v6.5.7 3. 漏洞细节: - 问题描述:ECDSA implementation contains an issue where valid signatures fail the validation check. - 问题原因:Hashes containing at least four leading zero bytes fail to validate even if they are correct if the hash size is greater than the order n of the base point of the elliptic curve. - 问题示例:Hashing the hex string using SHA256, resulting in . 4. PoC: - 安装库:npm install elliptic@6.5.7 - 执行命令:node poc.js 5. 影响: - 问题描述:This issue prevents the successful validation of certain valid ECDSA signatures. - 潜在影响:Legitimate transactions or communications may be incorrectly flagged as invalid, leading to potential disruptions in service and a loss of trust in the system's reliability and security. 6. 修复建议: - 修复方法:We propose to remedy this issue by adding the bit size of the message as a required argument. - 修复代码示例:EC.prototype._truncatoToN = function _truncatoToN(msg, msgBitSize, truncOnly) { // 修改代码逻辑 } 7. 发现者: - 发现者:Markus Schiffermüller at Trail of Bits - 发现者:Scott Arciszewski at Trail of Bits - 发现工具:wycheproof 这些信息详细描述了ECDSA签名验证错误的原因、影响和修复方法,有助于开发者理解和解决这个问题。