如何攻击织梦做的网站建站网站
聚焦源代码安全,网罗国内外最新资讯!
编译:代码卫士
千呼万唤始出来。在大家焦急而不得不耐心地等待了3个多小时后,OpenSSL 项目组在之前提到的时间范围内(UTC 2022年11月1日下午3点)发布了版本3.0.7,修复了两个位于X.509 邮件地址中的缓冲区溢出漏洞CVE-2022-3786和CVE-2022-3602。
这两个漏洞影响OpenSSL 3.0.0至3.0.6版本,不影响 1.1.1和1.0.2版本。OpenSSL 3.0用户应升级至3.0.7版本。
之前不是说的要发布一个“严重”级别的漏洞吗?为何发两个?OpenSSL 项目组专门就此发布文章给出了解答。
01
漏洞简述
OpenSSL 发布了关于CVE-2022-3786(“X.509 邮件地址变量长度缓冲区溢出”)和CVE-2022-3602(“X.509 邮件地址4字节缓冲区溢出”)漏洞的安全公告。
安全公告提到,这两个漏洞是位于punycode解码函数中的两个缓冲区溢出漏洞。可在X.509证书验证中触发缓冲区溢出,尤其是在检查名称限制时。需注意的是,这种情况发生在证书链签名验证后,且要求证书颁发机构签名该恶意证书或者应用程序在构建受信任发布机构路径失败后继续进行证书验证。
在TLS客户端,可通过连接到恶意服务器来触发。在TLS服务器中,如果服务器请求客户端验证且连接恶意客户端,可触发。
攻击者可构造恶意邮件地址在栈上溢出包含 . 字符的任意字节数量。该缓冲区溢出可导致崩溃(引发拒绝服务)(CVE-2022-3786)。
攻击者可构造恶意邮件地址,在栈上溢出四个受攻击者控制的字节。该缓冲区溢出可导致崩溃(引发拒绝服务)或可能引发远程代码执行,取决于任何既定平台/编译器的栈布局 (CVE-2022-3602)。
02
常见问答
1、之前提到3.0.7版本会修复一个严重漏洞,为何CVE-2022-3786和CVE-2022-3602是两个高危漏洞?严重漏洞在哪里?
此前OpenSSL 项目将CVE-2022-3602评估为严重级别,因为它是一个任意的4字节栈缓冲区溢出漏洞,此类漏洞可能导致远程代码执行 (RCE)后果。
在预通知阶段,多家组织机构进行了测试并给出反馈,查看了该漏洞的技术详情以及在常见架构和平台上的栈布局。首先,最初有报告提到在一些Linux 发行版本中,该栈布局是4个字节覆写了尚未被使用的邻近缓冲区,因此不存在崩溃或引发远程代码执行的能力。第二,很多现代平台执行栈溢出防护措施,缓解远程代码执行风险但通常会导致崩溃。然而,鉴于OpenSSL以源代码形式分发,因此无法了解每个平台和编译器组合如何在栈上安排缓冲区 ,因此在某些平台上仍然可能导致远程代码执行后果。OpenSSL 的安全策略提到,如果“在常见情况下可导致远程代码执行”,则该漏洞可被评级为严重等级。OpenSSL项目组认为这种评级规定不再适用于CVE-2022-3602,因此在最终发布前将其降级为“高危”等级。
CVE-2022-3786从最开始并未被评级为“严重”等级,因为攻击者控制的只有长度而非覆写内容。在任何平台均不会导致远程代码执行。OpenSSL 提到仍然认为这两个漏洞非常重要,建议受影响用户尽快升级至最新版本。
2、用户应如何行动?
项目组建议OpenSSL 3.0.0-3.0.6 版本的用户尽快升级至3.0.7版本。如果用户是从操作系统厂商或其它第三方获得的OpenSSL,则应当尽快索取更新版本。
3、这些漏洞影响3.0之前的版本吗?
不影响,这些漏洞是由punycode解码功能(目前仅用于处理X.509证书中的邮件地址名称限制)引入的。该代码最初在OpenSSL 3.0.0中引入,OpenSSL 1.0.2、1.1.1和其它更早版本不受影响。
项目组提到,确实在同一天还发布了OpenSSL 1.1.1的更新即1.1.1s,但这只是bug修复发布,并不包含任何安全修复。
4、这些漏洞已遭在野利用了吗?
项目组提到,并未发现可导致远程代码执行的exploit,在本文发布时并未发现漏洞遭利用的证据。
5、这些漏洞影响FIPS提供商吗?
不影响。
6、在默认情况下,所有使用OpenSSL 3.0的应用均易受攻击吗?
应当将任何验证从不可信来源接收X.509证书的OpenSSL 3.0应用视作易受攻击,包括TLS客户端以及被配置为使用TLS客户端认证的TLS服务器。
7、 是否存在缓解措施?
在应用修复方案之前,运行TLS服务器(如运行)的用户可考虑禁用TLS客户端认证。
8、是否需要替换TLS服务器证书?
不需要。
9、漏洞报告的时间线是怎样的?
CVE-2022-3602是由Polar Bear 在2022年10月17日审计OpenSSL 代码时发现并私下报告给OpenSSL的。Viktor Dukhovni 在第二天分析时发现了第二个不同的可触发问题CVE-2022-3786。项目组在10月25日按照预通知规定通知了多家组织机构,并在11月1日发布了包含修复方案的OpenSSL 3.0.7版本。
10、有多少人员/服务器受影响?
OpenSSL 项目组不追踪部署情况,因此无法提供相关数据。
11、CVSS评分如何?
OpenSSL 安全团队不分配CVSS评分或类似漏洞评分。
12、是否为漏洞取名?
OpenSSL 项目组并未为它们命名或创建标识。最好的方法是通过CVE名称查看,以免引起歧义。
13、应当使用哪个OpenSSL 版本?
在开发新应用时应当使用OpenSSL 3.0的最新版本(当前是3.0.7)。使用OpenSSL 3.0的现有应用应当尽快更新至3.0.7。使用OpenSSL 1.1.1的现有应用不受这些漏洞影响。然而,项目组建议使用最新版本(1.1.1s)。OpenSSL 1.1.1将在2023年9月11日停止支持。建议OpenSSL老旧版本(如1.0.2)用户升级至OpenSSL 3.0。不存在OpenSSL 2 发布版本。
代码卫士试用地址:https://codesafe.qianxin.com
开源卫士试用地址:https://oss.qianxin.com
推荐阅读
OpenSSL 将修复2016年以来的第一个严重漏洞
高危OpenSSL 漏洞可导致远程代码执行
惠普Teradici PCoIP 受OpenSSL 漏洞影响,波及1500万个端点
OpenSSL 修复高危的无限循环漏洞
OpenSSL 高危漏洞可被用于修改应用数据
速修复!OpenSSL 披露DoS 和证书验证高危漏洞,可导致服务器崩溃
原文链接
https://www.openssl.org/blog/blog/2022/11/01/email-address-overflows/
https://www.openssl.org/news/secadv/20221101.txt
题图:Pixabay License
本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。
觉得不错,就点个 “在看” 或 "赞” 吧~