Description
yawkat LZ4 Java provides LZ4 compression for Java. Prior to 1.11.4, net.jpountz.lz4.LZ4BlockInputStream configured with stopOnEmptyBlock set to false handles each well-formed empty LZ4Block by recursively calling refill(), allowing a long sequence of empty blocks in an attacker-controlled compressed stream to exhaust the decoding thread's stack and throw StackOverflowError. The default stopOnEmptyBlock setting is true and is not affected, and the issue does not cause memory corruption. This issue is fixed in version 1.11.4.
Published: 2026-10-06
Score: 3.7 Low
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service
Action: Apply Patch
AI Analysis

Impact

Yawkat LZ4 Java contains a flaw in LZ4BlockInputStream when the stopOnEmptyBlock flag is disabled. In this configuration the stream calls the refill method recursively for each empty LZ4 block. A malicious stream that contains many consecutive empty blocks will exhaust the Java thread’s call stack and raise a StackOverflowError, causing the application that processes the stream to crash. The bug does not corrupt memory or disclose information but results in a denial‑of‑service condition.

Affected Systems

Any use of the yawkat lz4‑java library before version 1.11.4 is affected when the LZ4BlockInputStream is constructed with the stopOnEmptyBlock option set to false. Versions 1.11.4 and later contain the patch that removes the recursive refill and limits the recursion depth. Applications that rely on the library for decoding compressed data should verify the library version and configuration.

Risk and Exploitability

The CVSS score of 3.7 classifies this issue as low severity, and the EPSS score is unavailable, suggesting the likelihood of widespread exploitation is currently unknown. Because the vulnerability is triggered by an attacker‑controlled compressed stream and does not require elevated privileges, an attacker with the ability to supply data to a Java program that uses the vulnerable library can easily enact the denial‑of‑service attack. The bug is listed as not in the CISA KEV catalog, indicating no known widespread exploitation. Defensive measures should treat it as a potential low‑impact DoS threat that could compound with other weaknesses.

Generated by OpenCVE AI on October 7, 2026 at 14:08 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to lz4‑java version 1.11.4 or later.
  • If an upgrade is not possible, configure LZ4BlockInputStream with stopOnEmptyBlock set to true to prevent recursive refilling.
  • Validate or sanitize any data passed to the decompression routine to ensure it is not attacker‑controlled or contains an excessive number of empty blocks.

Generated by OpenCVE AI on October 7, 2026 at 14:08 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-343h-94h5-c4wr yawkat LZ4 Java: LZ4BlockInputStream with stopOnEmptyBlock=false recurses once per empty block, causing StackOverflowError
History

Thu, 08 Oct 2026 07:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 07 Oct 2026 12:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-770
References
Metrics threat_severity

None

threat_severity

Low


Wed, 07 Oct 2026 00:30:00 +0000

Type Values Removed Values Added
First Time appeared Yawkat
Yawkat lz4-java
Vendors & Products Yawkat
Yawkat lz4-java

Tue, 06 Oct 2026 20:00:00 +0000

Type Values Removed Values Added
Description yawkat LZ4 Java provides LZ4 compression for Java. Prior to 1.11.4, net.jpountz.lz4.LZ4BlockInputStream configured with stopOnEmptyBlock set to false handles each well-formed empty LZ4Block by recursively calling refill(), allowing a long sequence of empty blocks in an attacker-controlled compressed stream to exhaust the decoding thread's stack and throw StackOverflowError. The default stopOnEmptyBlock setting is true and is not affected, and the issue does not cause memory corruption. This issue is fixed in version 1.11.4.
Title yawkat LZ4 Java: LZ4BlockInputStream with stopOnEmptyBlock=false recurses once per empty block, causing StackOverflowError
Weaknesses CWE-674
References
Metrics cvssV3_1

{'score': 3.7, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-07T16:28:56.080Z

Reserved: 2026-10-06T16:49:40.590Z

Link: CVE-2026-106449

cve-icon Vulnrichment

Updated: 2026-10-07T16:28:38.017Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-06T20:17:26.887

Modified: 2026-10-07T17:16:47.877

Link: CVE-2026-106449

cve-icon Redhat

Severity : Low

Publid Date: 2026-10-06T19:46:28Z

Links: CVE-2026-106449 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-07T14:15:15Z

Weaknesses
  • CWE-674

    Uncontrolled Recursion

  • CWE-770

    Allocation of Resources Without Limits or Throttling