低危 Openpgp.js 数据伪造问题漏洞(CVE-2023-41037)
CVE编号
CVE-2023-41037利用情况
暂无补丁情况
官方补丁披露时间
2023-08-30漏洞描述
OpenPGP.js 是 OpenPGP 协议的 JavaScript 实现。在受影响的版本中,Cleartext Signed Messages 是使用密码签名的消息,其签名文本可以在没有特殊工具的情况下可读。这些消息通常包含一个声明用于计算签名摘要的哈希算法的 "Hash: ..." 头。在 OpenPGP.js v5.9.0 之前的版本中,验证签名时会忽略"Hash: ..." 文本之前的任何数据。因此,恶意方可以向第三方的 Cleartext Signed Message 添加任意文本,以使受害人相信该任意文本已被签名。如果用户或应用仅检查返回的 `verified` 属性来验证 CleartextMessage,并丢弃关联的 `data` 信息,而是“视觉上信任”原始消息的内容,则用户或应用程序易受该攻击向量的攻击。鉴于 `verificationResult.data` 始终包含实际签名数据,检查此信息的用户和应用程序不会受到此漏洞的影响。类似地,对于 CleartextMessage 对象,使用 `getText()` 或 `text` 字段检索数据仅返回在验证签名时被考虑的内容。最后,重新装甲 CleartextMessage 对象(使用 `armor()`)也会生成一个“已清理”版本,其中多余的文本将被删除。该问题已在版本 5.10.1(当前稳定版本)中得到解决,在调用 `openpgp.readCleartextMessage()` 时将拒绝消息,并在版本 4.10.11(旧版)中,在调用 `openpgp.cleartext.readArmored()` 时将拒绝消息。建议用户进行升级。无法升级的用户应该检查 `verificationResult.data` 的内容,以查看实际签名了什么数据,而不是仅仅信任装甲消息的内容。解决建议
"将组件 org.webjars.npm:openpgp 升级至 5.10.1 及以上版本""将组件 org.webjars.npm:openpgp 升级至 4.10.11 及以上版本""将组件 openpgp 升级至 5.10.1 及以上版本""将组件 openpgp 升级至 4.10.11 及以上版本"
参考链接 |
|
---|---|
https://github.com/openpgpjs/openpgpjs/commit/6b43e02a254853f5ff508ebd1b07541... | |
https://github.com/openpgpjs/openpgpjs/security/advisories/GHSA-ch3c-v47x-4pgp |
受影响软件情况
# | 类型 | 厂商 | 产品 | 版本 | 影响面 | ||||
1 | |||||||||
---|---|---|---|---|---|---|---|---|---|
运行在以下环境 | |||||||||
应用 | openpgpjs | openpgpjs | * | Up to (excluding) 4.10.11 | |||||
运行在以下环境 | |||||||||
应用 | openpgpjs | openpgpjs | * | From (including) 5.0.0 | Up to (excluding) 5.10.0 |
- 攻击路径 本地
- 攻击复杂度 困难
- 权限要求 管控权限
- 影响范围 有限影响
- EXP成熟度 未验证
- 补丁情况 官方补丁
- 数据保密性 无影响
- 数据完整性 无影响
- 服务器危害 无影响
- 全网数量 N/A
CWE-ID | 漏洞类型 |
CWE-347 | 密码学签名的验证不恰当 |
Exp相关链接

版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
评论