CVE-2026-32877是Botan C++密码库中存在的一个堆溢出漏洞。在2.3.0到3.11.0版本中,SM2解密期间,检查认证码值(C3)的代码未能检查编码值的预期长度。无效的密文可能导致最多31字节的堆越界读取,从而导致崩溃或其他未定义的行为。此漏洞已在3.11.0版本中修复。
CVE-2026-32877 影响 Botan 密码库的 2.3.0 到 3.10.x 版本。在 SM2 解密过程中,负责验证认证码 (C3) 值的代码在比较之前未验证编码值的预期长度。恶意密码文可能导致最多 31 字节的堆溢出读取,可能导致应用程序崩溃或其他未定义的行为。此漏洞可能允许攻击者获取敏感信息或执行任意代码。
利用此漏洞需要攻击者控制正在处理的 SM2 密码文。可以设计一个特殊的密码文以在解密过程中触发堆溢出读取。利用难度取决于攻击者影响密码文的能力以及受保护数据的敏感性。虽然没有报告公开利用,但漏洞的严重程度 warrant 立即注意和修复。
漏洞利用状态
EPSS
0.05% (17% 百分位)
CISA SSVC
针对此漏洞的建议缓解措施是将 Botan 升级到 3.11.0 或更高版本。此版本包含一项修复,该修复在比较之前正确验证编码值的长度,从而防止堆溢出读取。强烈建议用户尽快应用此更新以降低被利用的风险。此外,请检查应用程序依赖项,以确保所有库都是最新的,并受到已知漏洞的保护。考虑实施输入验证和其他防御性编码实践。
将 Botan 库更新到 3.11.0 或更高版本。这将修复 SM2 解密过程中的读取越界漏洞。可以通过从官方网站下载新版本或使用相应的软件包管理器来执行更新。
漏洞分析和关键警报直接发送到您的邮箱。
2.3.0 到 3.10.x 的 Botan 版本受到此漏洞的影响。
您可以查阅项目的文档或使用依赖管理工具来检查 Botan 版本。
如果无法立即升级,请考虑实施其他缓解措施,例如输入验证和限制库的暴露。
一些静态和动态安全分析工具可能能够检测此漏洞。请查阅安全工具的文档以获取更多信息。
SM2 是一种在中国开发的公钥密码算法,用于数字签名和加密。
CVSS 向量