漏洞描述:
snappy-java 是一个开源的、Java 语言开发的压缩/解压代码库。
snappy-java 1.1.10.1之前版本中的 Snappy#compress 方法在压缩时未对字符数组长度进行检测,当攻击者压缩的文件的字符数组长度大于 Integer.MAX_VALUE/2 时(如:0x40000000)会触发 java.lang.NegativeArraySizeException 异常并造成拒绝服务。
附:当使用字节数组时不存在此漏洞,因为无法创建大小超过 Integer.MAX_VALUE (或负值)的字节数组。
影响范围:
org.xerial.snappy:snappy-java[1.0.1-rc1, 1.1.10.1]
修复方案:
官方已发布补丁,在压缩时未对字符数组长度进行检测:https://github.com/xerial/snappy-java/commit/d0042551e4a3509a725038eb9b2ad1f683674d94
参考链接:
https://github.com/advisories/GHSA-fjpj-2g6w-x25r
https://github.com/xerial/snappy-java/commit/d0042551e4a3509a725038eb9b2ad1f683674d94
原文始发于微信公众号(飓风网络安全):【漏洞预警】snappy-java 的 compress 方法整数溢出漏洞导致拒绝服务
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论