Skip to main content
← All vulnerabilities
CVE-2026-106452GHSA-4V53-57PG-C464

yawkat LZ4 Java: LZ4BlockInputStream allocates an unvalidated compressed length from the stream header

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 1.11.2
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: yes
  • Technical impact: partial

Summary

yawkat LZ4 Java provides LZ4 compression for Java. Prior to 1.11.2, net.jpountz.lz4.LZ4BlockInputStream refill() validates that the compressedLen field in a legacy LZ4Block header is nonnegative but allocates a compressed-input buffer of that attacker-controlled size before reading payload data, allowing a header-only stream to request a near-2 GiB allocation and exhaust the JVM heap. Canonical writers emit raw blocks when compression is not smaller than the original block, but vulnerable readers accept non-canonical oversized compressed blocks. This issue is fixed in version 1.11.2.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: yes · Technical impact: partial

  3. Record last updated

Affected versions

  • yawkat lz4-java

    fixed in 1.11.2

  • at.yawk.lz4:lz4-javaMaven

    fixed in 1.11.2

  • org.lz4:lz4-javaMaven

    through 1.8.1

References 3

GitHub · yawkat/lz4-java