OpenSSL 中的 HollowByte 漏洞通过 11 字节数据包触发内存泄漏

图片: BleepingComputer
简要回答
OpenSSL 中的 HollowByte 漏洞允许攻击者通过发送 11 字节数据包强制服务器无控制地分配内存,从而触发拒绝服务条件。
Okta 红队研究人员发现 OpenSSL 库中的一项严重漏洞,该漏洞允许未授权攻击者触发服务器拒绝服务(DoS)条件。该漏洞被命名为 HollowByte,仅需发送 11 字节数据包即可强制服务器分配过量内存,而无需实际传输数据。
该漏洞源于受影响 OpenSSL 版本处理 TLS 握手的方式。服务器根据数据包头部声明的大小分配内存,而不对实际数据量进行验证。攻击者可发送带有夸大长度值的数据包,导致内存碎片化和无控制增长。即使攻击结束,服务器仍会在重启进程前处于高资源消耗状态。
OpenSSL 被广泛应用于大多数 Linux 发行版、热门网络服务器(NGINX、Apache)、编程环境(Node.js、Python、PHP)和数据库(MySQL、PostgreSQL)中。Okta 测试显示,该攻击可禁用低资源服务器,而高端系统在无监控告警的情况下损失高达 25% 的可用内存。
OpenSSL 开发者已在 4.0.1、3.6.3、3.5.7、3.4.6 和 3.0.21 版本中修复了该问题。修复改变了内存分配机制:缓冲区仅在实际数据到达时扩展,忽略头部声明的值。尽管该漏洞被归类为“安全增强”而非严重缺陷,但专家仍敦促立即更新库文件。
常见问题
- 什么是 HollowByte 漏洞?
- HollowByte 是 OpenSSL 的一个漏洞,允许攻击者通过 11 字节数据包触发服务器内存泄漏,导致因资源无控制分配而引发拒绝服务(DoS)。
- 哪些 OpenSSL 版本受 HollowByte 漏洞影响?
- 该漏洞影响 OpenSSL 4.0.1 之前的版本以及 3.6.x、3.5.x、3.4.x 和 3.0.x 分支。修复补丁已包含在更新版本中。
- 如何防护 HollowByte 攻击?
- 将 OpenSSL 更新至最新版本(4.0.1 或已修复的分支),并重启使用该库的进程以释放已占用的内存。
分享:
Dzen 订阅: /feed/dzen.xml · RSS: /feed.xml