首页 网络安全 正文
  • 本文约1141字,阅读需6分钟
  • 10
  • 0

libtpms返回错误初始化向量漏洞CVE-2026-21444

摘要

栋科技漏洞库关注到libtpms在版本0.10.0和0.10.1中存在漏洞,该漏洞现在已经被追踪为CVE-2026-21444,漏洞的CVSS 3.X评分为5.5。

libtpms 是一款开源的软件库是虚拟机 TPM 仿真的底层核心依赖,通过极简API与标准化实现,该库让虚拟机 / 容器轻松获得 TPM 能力。

一、基本情况

libtpms是一个提供可信平台模块软件模拟库,是虚拟化与云原生场景中TPM仿真的核心组件,广泛用于开发测试、云平台与嵌入式系统。

libtpms开源软件库提供 TPM(可信平台模块)1.2 与 TPM 2.0 完整软件仿真,核心用于虚拟化环境为虚拟机提供符合规范的 TPM 功能。

libtpms返回错误初始化向量漏洞CVE-2026-21444

栋科技漏洞库关注到libtpms在版本0.10.0和0.10.1中存在漏洞,该漏洞现在已经被追踪为CVE-2026-21444,漏洞的CVSS 3.X评分为5.5。

二、漏洞分析

CVE-2026-21444漏洞是 libtpms 与 OpenSSL 3.x 的常用集成在使用某些对称密码时存在的一个与返回的初始化向量(IV)相关的漏洞。

漏洞与使用某些对称密码时返回初始化向量(IV)有关,其不是返回最后一个IV,而向调用者返回初始IV,削弱了后续加密和解密步骤。

这一漏洞对数据的保密性构成最高威胁,漏洞代码如下:

src/tpm2/crypto/openssl/Helpers.c

@@ -354,7 +354,7 @@ TPM_RC DoEVPGetIV(
{
#if OPENSSL_VERSION_NUMBER >= 0x30000000L
    OSSL_PARAM params[] = {
        OSSL_PARAM_octet_ptr(OSSL_CIPHER_PARAM_UPDATED_IV, &iv, iv_len),
        OSSL_PARAM_octet_string(OSSL_CIPHER_PARAM_UPDATED_IV, iv, iv_len),
        OSSL_PARAM_END
    };
    if (EVP_CIPHER_CTX_get_params(ctx, params) != 1)

 

带有错误代码的补丁:d08b929

$ git tag --contains d08b929dede77bee05bd674d48c7a0548528ca9c
v0.10.0
v0.10.0-rc1
v0.10.1

三、POC概念验证

重现该行为/问题的步骤,包括在命令行上显示所有命令、所需的XML或JSON(如有必要)等:

这里的脚本可以用来显示原始IV和更新后的IV。更新后的IV必须与原始IV不同,但由于存在错误,它们是相同的

具体的代码如下:

管理员已设置登录后刷新可查看

预期行为

iv.bin和newiv.bin必须包含不同的IV(初始化向量)。

对你期望发生的事情进行清晰简洁的描述。

四、影响范围

libtpms 0.10.0

libtpms 0.10.1

五、修复建议

libtpms > 0.10.0

libtpms >0.10.1

六、参考链接

管理员已设置登录后刷新可查看



扫描二维码,在手机上阅读
评论
更换验证码
友情链接