高危级lz4-java漏洞在解压缩过程中泄露未初始化内存(CVE-2025-66566)
好,我需要帮用户总结这篇文章的内容,控制在100字以内。首先,文章主要讲的是LZ4压缩算法的Java库lz4-java发现了一个高危漏洞,CVE编号是2025-66566,CVSS评分8.2分。这个漏洞会导致解压缩器读取未初始化的内存,可能泄露敏感数据。 接下来,漏洞的原因是库在处理输出缓冲区时没有充分清除数据。攻击者可以利用特制的压缩输入来读取之前的缓冲区内容。受影响的版本是1.10.0及更早版本,特别是纯Java实现的部分。而基于JNI的实现则不受影响。 风险方面,如果应用重用了输出缓冲区,可能会泄露密码、密钥或用户数据。缓解措施包括升级到1.10.1版本或者手动清除缓冲区。 总结的时候要简明扼要,涵盖漏洞名称、影响、原因和解决方法。确保不超过100字,并且直接描述内容,不需要开头语。 </think> 安全研究人员在LZ4压缩算法Java库中发现高危漏洞(CVE-2025-66566),CVSS评分8.2分。该漏洞可能导致解压缩器读取未初始化内存,泄露敏感数据。受影响版本为1.10.0及更早纯Java实现,基于JNI的实现不受影响。修复已发布至1.10.1版本。 2025-12-7 16:26:39 Author: www.freebuf.com(查看原文) 阅读量:1 收藏

freeBuf

主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序


安全研究人员在广泛使用的LZ4压缩算法Java库lz4-java中发现一个高危漏洞(CVE-2025-66566),其CVSS评分为8.2分,对数据机密性构成重大威胁。该漏洞可使攻击者诱骗解压缩器读取并暴露未初始化的内存,可能泄露先前操作残留的敏感数据。

漏洞原理

该漏洞的核心问题在于库处理解压缩过程中输出缓冲区的方式。安全公告指出:"lz4-java 1.10.0及更早版本中,基于Java的解压缩器实现未充分清除输出缓冲区,远程攻击者可通过特制的压缩输入读取先前缓冲区内容"。

LZ4算法为追求速度,通常会重复使用已解压的数据。但该逻辑的Java实现存在关键盲区:攻击者提供特制输入帧时,"可能诱导Java实现从输出缓冲区中尚未包含解压数据的区域进行复制"。

风险场景

若应用程序为节省内存而重用输出缓冲区(常见的性能优化手段),这些缓冲区的"脏"区域可能仍保留着前次会话的密码、加密密钥或用户数据。公告警告称:"若该区域因解压前未清除输出缓冲区而包含敏感信息,这些数据将被复制到解压输出中"。

受影响范围

并非所有lz4-java实现都受影响。公告明确指出"基于JNI的实现不受影响",但判断应用程序是否安全需仔细检查所调用的工厂方法:

  • 纯Java实现:LZ4Factory.safeInstance()和LZ4Factory.unsafeInstance()均受影响
  • "最快"陷阱:使用LZ4Factory.fastestInstance()的开发者可能误以为在使用安全的原生代码,但当平台不受支持且无法使用JNI时,会回退至存在漏洞的Java实现
  • "快速"解压器:LZ4Factory.nativeInstance().fastDecompressor()自1.8.1版本起就存在漏洞,因其使用了不安全的safeInstance()逻辑

缓解措施

漏洞严重性取决于具体使用场景:"每次分配新目标缓冲区或仅使用归零缓冲区的用户不受影响"。但对循环利用内存的高性能应用而言风险极高。

维护者已发布补丁:"lz4-java 1.10.1修复了此问题,无需更改用户代码"。若无法立即升级,开发者可手动缓解威胁:"若无法升级至1.10.1,可在将输出缓冲区传递给解压函数前将其归零"。

参考来源:

High-Severity lz4-java Flaw (CVE-2025-66566) Leaks Uninitialized Memory During Decompression

本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)


文章来源: https://www.freebuf.com/articles/network/460861.html
如有侵权请联系:admin#unsafe.sh