使用未经验证服务器的 RFC7250 握手未能按预期中止 (CVE-2024-12797)
严重等级:高
问题概要:
当客户端使用 RFC7250 原始公钥(RPK)来验证服务器身份时,即使设置了 SSL_VERIFY_PEER 验证模式,握手过程也可能无法发现服务器未经过身份验证这一问题。
影响概述:
使用原始公钥的 TLS 和 DTLS 连接可能会因客户端无法检测到服务器验证失败而遭受中间人攻击。
RPK 在 TLS 客户端和服务器中默认都是禁用的。
此问题仅在以下情况下出现:TLS 客户端明确允许服务器使用 RPK,同时服务器也启用了发送 RPK 而非 X.509 证书链的功能。
受影响的客户端是那些通过设置验证模式为 SSL_VERIFY_PEER,并依赖握手失败来判断服务器的 RPK 是否与预期公钥不匹配的客户端。
启用服务器端原始公钥的客户端仍可以通过调用 SSL_get_verify_result() 来发现原始公钥验证失败。那些会调用此函数并采取相应措施的客户端不受此问题影响。
该问题最初出现在 OpenSSL 3.2 版本中实现 RPK 支持时。3.4、3.3、3.2、3.1 和 3.0 版本中的 FIPS 模块不受此问题影响。OpenSSL 3.1、3.0、1.1.1 和 1.0.2 版本也不受此问题影响。
OpenSSL 3.4、3.3 和 3.2 版本存在此漏洞。
OpenSSL 3.4 用户应升级至 OpenSSL 3.4.1。 OpenSSL 3.3 用户应升级至 OpenSSL 3.3.2。 OpenSSL 3.2 用户应升级至 OpenSSL 3.2.4。
此问题由苹果公司于2024年12月18日报告。修复方案由 Viktor Dukhovni 开发。
常规公告说明
======================
本安全公告链接:https://openssl-library.org/news/secadv/20250211.txt
注:公告的在线版本可能会随时更新补充细节。
有关 OpenSSL 严重等级分类的详细信息,请参见: https://openssl-library.org/policies/general/security-policy/
原文始发于微信公众号(独眼情报):openssl出现严重漏洞CVE-2024-12797
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论