关键漏洞信息 漏洞名称: Incorrect calculation of buffer size in C_WrapKey with CKM_ECDH_AES_KEY_WRAP CVE ID: CVE-2026-22791 严重性: 6.6 / 10 ( Moderate ) 影响版本: v3.25.0, v3.26.0 修复版本: Commit e37e9127dee6b7bf3c3c4d852c594256c57ec3a8 相关链接: GHSA-26f5-3mwq-4wm7 漏洞描述 摘要: 在 CKM_ECDH_AES_KEY_WRAP 实现中存在一个堆缓冲区溢出漏洞,攻击者可以通过提供压缩的 EC 公钥并调用 C_WrapKey 导致越界写入,从而导致堆损坏或拒绝服务。 详细信息: - 漏洞存在于 文件的 函数中。缓冲区大小的计算使用了接收方密钥存储的椭圆曲线点长度,但代码复制本地生成的传输点时使用了实际的未压缩长度,导致缓冲区溢出。 - OpenCryptoki 接受压缩的椭圆曲线点而不进行归一化,而生成的传输密钥始终是未压缩编码的。 修复建议 修复提交: e37e912 受影响的版本: v3.25.0, v3.26.0 修复版本: 修复程序还适用于 openCryptoki 3.25.0 和 3.26.0 版本。 影响范围 受影响的应用: 使用 OpenCryptoki 接受外部 EC 公钥并执行使用 CKM_ECDH_AES_KEY_WRAP 进行密钥包装操作的应用。 服务进程: 允许用户提供 EC 公钥并调用 C_WrapKey 的任何服务进程。 堆损坏: 可能导致服务拒绝。