CVE-2026-49158 (CVSS 7.5) - Improper Handling of Highly Compressed Data (Data Amplification) vulnerability i

CVE-2026-49158是Apache Thrift Ruby绑定中的高危漏洞(CVSS 7.5),因未对高度压缩数据做大小限制,攻击者可发送极小压缩包造成服务器内存耗尽拒绝服务。受影响版本低于0.24.0,升级即可修复。本文提供详细技术分析、攻击场景及缓解措施。

🔥 热门漏洞情报 · NVD-Latest ·

CVE-2026-49158 (CVSS 7.5) - Improper Handling of Highly Compressed Data (Data Amplification) vulnerability i

High · CVSS 7.5 数据放大(Data Amplification)
CVE-2026-49158

📋 漏洞概述

Apache Thrift Ruby绑定在处理高度压缩数据时缺乏大小限制,导致数据放大拒绝服务漏洞。

📋 基础信息

受影响版本Apache Thrift Ruby bindings < 0.24.0
漏洞类型数据放大(Data Amplification)
CVSS7.5 · High
CVECVE-2026-49158

🔬 漏洞根因

Apache Thrift Ruby绑定在解压缩来自网络传输的压缩数据时,未对解压后的数据大小进行有效限制或检查,允许攻击者构造一个极小但压缩比极高的恶意负载。当服务器解压该负载时,会瞬间膨胀出远超预期的数据量,消耗大量内存资源,最终导致服务崩溃或拒绝服务。此缺陷属于输入验证不当(Improper Handling of Highly Compressed Data)。

🎯 攻击场景

1. 前提条件:目标服务使用Apache Thrift Ruby绑定且版本低于0.24.0,并启用了数据压缩功能(如Thrift的压缩传输层)。 2. 攻击者构造一个特制的Thrift请求消息,其中有效载荷使用极高压缩比的算法(如deflate/gzip)压缩,原始数据大小仅几KB,但解压后可达到数百MB甚至GB级别(类似ZIP炸弹)。 3. 攻击者将该压缩后的请求发送到目标服务器(通过TCP连接)。 4. 服务器接收数据后,调用Ruby绑定中的解压缩逻辑,开始解压。由于缺乏大小阈值检查,解压操作持续进行,分配大量内存。 5. 当内存耗尽或达到进程限制时,服务进程被操作系统杀死或进入不可用状态,导致拒绝服务。攻击者可通过少量并发请求实现持久性拒绝服务。

💥 漏洞影响

攻击者无需认证即可发送少量恶意请求,导致目标服务的内存被耗尽,进而引发拒绝服务(DoS)。该漏洞影响所有使用Apache Thrift Ruby绑定的应用程序,包括基于Thrift的RPC服务、微服务框架等。CVSS 7.5表明其可利用性高(网络可达、低复杂度、无权限),且完全影响可用性。

🛡️ 修复建议

官方修复:升级Apache Thrift到0.24.0或更高版本。 临时缓解措施: - 在Thrift服务端配置中禁用压缩功能(如设置传输层不使用压缩)。 - 在应用程序层添加对解压后数据大小的硬性限制,超过阈值直接终止处理。 - 使用资源配额限制(如Linux cgroups)限制进程可分配的内存上限,减少单点崩溃影响。

📎 参考链接

🚨 威胁评估

📈 EPSS 利用概率暂无数据
🚨 CISA KEV未被已知利用
🔧 公开 PoC暂无公开 PoC

⚠️ 本文由漏洞情报系统自动生成,仅供安全研究与防御参考。生成时间: 2026-07-29 01:01 | 来源: NVD-Latest

🤖 常见问题解答(FAQ)

❓ 如何检测我是否受此漏洞影响?

检查Thrift Ruby gem版本:运行`gem list thrift`,若版本低于0.24.0则受影响。另可在代码中检查是否启用了压缩传输(如TCompactProtocol或TBinaryProtocol的压缩变体)。

❓ 临时缓解措施是什么?

在应用层对解压后数据大小进行硬性限制,例如在解压回调中设置max_decompressed_bytes参数,超过则抛出异常。也可在服务器配置中禁用压缩传输层。

❓ 此漏洞是否可能被用来执行远程代码?

根据现有信息,该漏洞仅导致数据放大引发的内存耗尽,属于拒绝服务。推测(基于同类漏洞规律)不太可能直接导致RCE,但内存耗尽可能导致未知状态,不排除二次利用风险。

[!] CONTACT_CHANNELS

如需商务合作、技术咨询或漏洞反馈,请通过以下离岸节点联系作者。

> PING_AUTHOR (@A1RedTeam)