Skip to main content

LZ4 Java EUVDEUVD-2026-93865

| CVE-2026-106450 MEDIUM
Allocation of Resources Without Limits or Throttling (CWE-770)
2026-10-06 security-advisories@github.com GHSA-gm45-99xc-r7wv
5.3
CVSS 3.1 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Submit crafted LZ4 frame stream
  2. Delivery
    Pack many minimal empty concatenated frames
  3. Exploit
    Trigger repeated 8 MiB buffer allocations in readHeader
  4. Execution
    Exhaust heap and GC/CPU
  5. Impact
    Denial of service of JVM/application

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource allocation limits
MITRE ATT&CK

1 technique across 1 tactic: Impact

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

The application must decode attacker-controlled LZ4 data using net.jpountz.lz4.LZ4FrameInputStream in its DEFAULT concatenated-frame mode; the attacker crafts a stream of many minimal empty maximum-block-size frames so that readHeader() repeatedly allocates two 4 MiB block buffers. Key limiting factor: readSingleFrame mode is explicitly NOT affected, so applications that construct the stream in single-frame mode are not vulnerable. Note that decompressed-size/output limits do NOT mitigate this because the stream yields no decompressed output while still consuming CPU and GC time. No authentication, user interaction, or non-default configuration is required for the default-mode case; exploitation only requires that untrusted LZ4 frame input reach this decoder.

Impact

This is a genuine but moderate-severity denial-of-service issue, not a critical priority. The vendor-assigned CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L, score 5.3) is internally consistent with the description and with CWE-770 (allocation of resources without limits): a remote, unauthenticated attacker with low complexity can cause availability-only impact via roughly 8 MiB of heap allocation and GC pressure per 11 input bytes, with no confidentiality or integrity effect. No EPSS score, KEV listing, POC, or SSVC decision data was provided in the input, so exploitation-probability and active-exploitation signals cannot be evaluated - per precedent rules this is treated as 'no public exploit identified at time of analysis.' The amplification factor is high and the fix commit is public (which lowers the barrier to building a trigger), but real-world risk is gated by whether a given application actually decodes untrusted LZ4 frame data through LZ4FrameInputStream in the default concatenated-frame mode. One nuance to verify: the description notes that decompressed-size limits do NOT mitigate this because the stream produces no decompressed output while still consuming CPU/GC, so operators relying on output-size caps as a defense should not assume they are protected.

Exploit ScenarioDerived

An attacker supplies a malicious LZ4 stream - for example as an uploaded file, API payload, or message consumed by a backend service - to an application that decodes it with LZ4FrameInputStream in the default concatenated-frame mode. The stream contains many minimal empty frames, each forcing allocation of two 4 MiB block buffers, so a tiny input (about 11 bytes per frame) drives roughly 8 MiB of allocation and sustained GC activity, degrading or exhausting the JVM. No public exploit code was identified at time of analysis, though the public fix commit reveals the triggering frame structure.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 06, 2026

Denial of service in LZ4 Java (lz4-java) prior to 1.11.4 allows unauthenticated remote attackers to exhaust memory and CPU by supplying a crafted LZ4 frame stream to net.jpountz.lz4.LZ4FrameInputStream in its default concatenated-frame mode; each minimal empty maximum-block-size frame forces readHeader() to allocate two 4 MiB block buffers (roughly 8 MiB per 11 input bytes) with no decompressed output, so decompressed-size limits do not mitigate the issue. The vulnerability is moderate severity (CVSS 5.3, A:L) and is fixed in 1.11.4; readSingleFrame mode is not affected, and no public exploit or KEV entry has been identified at time of analysis.

RemediationAI

Upgrade to lz4-java 1.11.4 (vendor-released patch: 1.11.4), which lazily allocates and reuses block buffers across frames, reuses skip and streaming hash buffers, and validates block sizes. If immediate upgrade is not possible, switch untrusted decoding paths from the default concatenated-frame mode to readSingleFrame mode where the API supports it, understanding that this will reject legitimate concatenated frames and may break interoperability with multi-frame LZ4 streams. Restrict or cap the number and size of attacker-supplied LZ4 frames before decoding, and monitor heap and GC pressure; note that decompressed-size limits alone do not mitigate this issue because the crafted stream produces no decompressed output. See the GitHub Security Advisory GHSA-gm45-99xc-r7wv and release notes at https://github.com/yawkat/lz4-java/releases/tag/v1.11.4 for details.

Affected VersionsENISA

lz4-java < 1.11.4

Affected Packages

maven at.yawk.lz4:lz4-java fix: 1.11.4
maven org.lz4:lz4-java no fix
euvd lz4_java fix: 1.11.4

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 3 packages in maven, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The affected component is net.jpountz.lz4.LZ4FrameInputStream in yawkat/lz4-java, a Java implementation of the LZ4 compression frame format. In the default concatenated-frame mode, the stream reads successive LZ4 frames, and readHeader() previously allocated two new 4 MiB byte buffers for every frame header that declared the maximum block size. Because an empty LZ4 frame with a maximum block size can be encoded in roughly 11 bytes, an attacker-controlled stream can trigger about 8 MiB of heap allocation per frame while producing no decompressed output, consuming CPU and garbage-collection time. This is CWE-770 (Allocation of Resources Without Limits or Throttling). The fix commit 2acc0ec1ead226145c62a817c18c8ed49233a283 makes the block buffers lazily allocated and reused across blocks and frames, reuses the skip buffer and streaming hash, and adds block-size validation. Applications that use readSingleFrame mode are explicitly not affected. No CPE strings were provided, but the affected artifact is clearly lz4-java prior to 1.11.4.

Know when Java gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (github) PRIMARY 5.3 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
vuln.today AI 5.3 MEDIUM

Remote unauthenticated input to the default decode mode (AV:N/AC:L/PR:N/UI:N); only resource-exhaustion availability impact, partial not total, so A:L and C/I:N.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
Red Hat 5.3 MEDIUM

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
Low

Lifecycle Timeline

1
Patch available
Oct 06, 2026 - 21:05 EUVD

DescriptionCVE.org

yawkat LZ4 Java provides LZ4 compression for Java. Prior to 1.11.4, net.jpountz.lz4.LZ4FrameInputStream readHeader() allocates two new 4 MiB block buffers whenever a maximum-block-size frame header is read, and the default concatenated-frame mode allows attacker-controlled streams containing many minimal empty frames to trigger roughly 8 MiB of allocation for every 11 input bytes. The stream produces no decompressed output while consuming CPU and garbage-collection time, so decompressed-size limits do not mitigate the issue; readSingleFrame mode is not affected. This issue is fixed in version 1.11.4.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 163 maven packages depend on at.yawk.lz4:lz4-java (18 direct, 145 indirect)
  • 193 maven packages depend on org.lz4:lz4-java (62 direct, 133 indirect)

Ecosystem-wide dependent count for version 1.11.4 and other introduced versions.

Threat Intelligence Overview

EPSS Score
0.4%
Top 71% exploitable
Prevalence
Medium
maintained Java LZ4 (net.jpountz) fork; common in Java data pipelines, not universal
Threat Intel
1
1 source
Exploit
POC
Public exploit code exists
Data Quality
5 sources
Confidence: Medium
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

46
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

More in Java

View all
CVE-2012-4681 CRITICAL POC
9.8 Aug 28

Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m

CVE-2015-7450 CRITICAL POC
9.8 Jan 02

Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti

CVE-2013-2465 CRITICAL POC
9.8 Jun 18

Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent

CVE-2011-3544 CRITICAL POC
9.8 Oct 19

Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug

CVE-2010-1871 HIGH POC
8.8 Aug 05

JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to

CVE-2012-1723 CRITICAL POC
9.8 Jun 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up

CVE-2013-0422 CRITICAL POC
9.8 Jan 10

Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using

CVE-2012-0507 CRITICAL POC
9.8 Jun 07

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up

CVE-2015-4852 CRITICAL POC
9.8 Nov 18

The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers

CVE-2012-5076 CRITICAL POC
9.8 Oct 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow

CVE-2017-3066 CRITICAL POC
9.8 Apr 27

Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla

CVE-2012-0391 CRITICAL POC
9.8 Jan 08

The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy