IPBUF安全漏洞报告
English
CVE-2026-32829 CVSS 7.5 高危

CVE-2026-32829 lz4_flex信息泄露漏洞

披露日期: 2026-03-20

漏洞信息

漏洞编号
CVE-2026-32829
漏洞类型
越界读取
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
lz4_flex

相关标签

信息泄露越界读取Rustlz4_flexCVE-2026-32829

漏洞概述

lz4_flex是Rust语言的LZ4压缩解压库。在0.11.5及以下版本和0.12.0版本中,解压无效LZ4数据时因未正确验证偏移量导致越界读取,可能泄露未初始化内存或之前操作的敏感信息。

技术细节

该漏洞源于LZ4“匹配复制操作”期间对偏移值验证的缺失。当使用受影响的块API(如decompress_into)且禁用safe-decode时,攻击者可构造特制恶意LZ4数据流。解压过程中,程序根据恶意偏移量读取输出缓冲区外的内存区域。虽然不直接导致崩溃,但能泄露内存中的敏感数据(如密钥、用户数据等)。帧API不受此影响。

攻击链分析

STEP 1
1. 侦察与准备
攻击者确认目标应用使用了受影响版本的lz4_flex库,且存在处理外部输入的解压缩接口。
STEP 2
2. 构造恶意载荷
攻击者构造特制的LZ4压缩数据块,其中包含精心计算的无效偏移量,旨在触发越界读取。
STEP 3
3. 投递载荷
攻击者通过网络请求、文件上传等方式将恶意数据发送给目标应用。
STEP 4
4. 触发漏洞
目标应用调用受影响的块API(decompress_into等)对数据进行解压,由于未校验偏移量,读取了输出缓冲区之外的内存。
STEP 5
5. 信息泄露
攻击者通过分析解压后的输出或应用响应,获取泄露的内存敏感信息(如密钥、令牌等)。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// Conceptual PoC for CVE-2026-32829 // Demonstrates vulnerable usage of lz4_flex use lz4_flex::block::decompress_into; fn main() { // Malformed LZ4 block data designed to trigger out-of-bounds read // This payload requires specific crafting to produce a negative/large offset let malicious_input: Vec<u8> = vec![ 0x04, 0x22, 0x4d, 0x18, // Example Header 0x20, 0x00, 0x00, 0x00, // Literal length 0xFF, 0xFF, 0xFF, 0xFF, // Match offset (vulnerable point) // ... additional payload bytes ... ]; let mut dest = vec![0u8; 4096]; // Output buffer // Calling the vulnerable function // In affected versions, this reads past 'dest' based on the offset match decompress_into(&malicious_input, &mut dest) { Ok(size) => println!("Decompressed {} bytes. Potential memory leak occurred.", size), Err(e) => println!("Decompression failed: {:?}", e), } }

影响范围

lz4_flex <= 0.11.5
lz4_flex 0.12.0

防御指南

临时缓解措施
建议立即升级受影响组件。若无法立即升级,应审查代码确保使用的是帧API而非块API,或者启用了安全解码选项。同时,在网络边界对输入的LZ4数据流进行严格格式校验。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表