CVE-2026-31790OpenSSL RSA SVE密钥封装机制存在逻辑缺陷,允许攻击者诱导应用程序使用无效公钥。由于错误代码检查不严谨,系统会将未初始化的内存缓冲区内容误判为有效密文并发送,导致敏感数据泄露。该问题主要影响OpenSSL FIPS模块。
该漏洞根源在于OpenSSL在实现EVP_PKEY_encapsulate()接口时,对底层RSA_public_encrypt()函数返回值的逻辑判断存在缺陷。RSA_public_encrypt()在成功时返回写入的字节数,失败时返回-1,但受影响代码仅检查返回值是否非零。因此,当加密失败时,封装操作仍会向调用者返回成功状态。如果应用程序使用攻击者提供的无效RSA公钥进行封装,且未预先调用EVP_PKEY_public_check()验证密钥有效性,系统将直接使用未初始化的密文缓冲区数据。这导致攻击者能接收到包含前次进程敏感数据的未初始化内存内容。此问题主要影响OpenSSL 3.0至3.6版本的FIPS模块。