Description
yawkat LZ4 Java provides LZ4 compression for Java. From 1.7.0 until 1.11.4, net.jpountz.util.Native.load() uses File.createTempFile to create an exclusive temporary .lck file but derives the native-library path by removing the suffix, then FileOutputStream opens that predictable path without exclusive creation, allowing another local user with access to the same shared temporary directory to create or replace the library file before System.load() uses it. Successful exploitation depends on shared-directory permissions, host protections, and winning the race, and can execute native code as the victim; hardened systems may instead cause library loading to fail and fall back to Java implementations. Configurations using a system library, a private java.io.tmpdir, or Java-only implementations are not affected. This issue is fixed in version 1.11.4.
Published: 2026-10-06
Score: 7.3 High
EPSS: < 1% Very Low
KEV: No
Impact: Local code execution via native library replacement
Action: Update Library
AI Analysis

Impact

The vulnerability in the yawkat LZ4 Java library is a race condition and improper file handling flaw (CWE-367, CWE-377, CWE-379). It occurs while the library loads a native component by first creating a lock file in the system temporary directory and then writing the native library to a predictable path derived from that file. Because the subsequent file creation does not use exclusive flags, another local user can overwrite the native library before it is loaded. If successfully replaced, the attacker can supply forged native code that will execute with the same privileges as the Java process, potentially granting local code execution and privilege escalation. This flaw is mitigated by hardened systems that detect tampering and fall back to a pure Java implementation, which prevents exploitation without code changes.

Affected Systems

The issue affects the yawkat LZ4 Java library, versions 1.7.0 through 1.11.4 inclusive. Systems using an external native library, a private java.io.tmpdir setting, or the Java-only implementation are not vulnerable. The fix was introduced in 1.11.4.

Risk and Exploitability

With a CVSS v3 score of 7.3, the vulnerability has a medium to high severity and involves race condition (CWE-367), improper temporary file handling (CWE-377), and untrusted resource usage (CWE-379). EPSS data is not available, and the vulnerability is not listed in CISA KEV. Successful exploitation requires that the application runs with write access to the shared temporary directory, that the directory is not locked by system protections, and that the attacker can outpace the race condition. If these conditions are met, native code can be executed under the process’s user. Hardened configurations that validate the library path or roll back to Java-only code effectively mitigate the risk.

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

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade lz4-java to version 1.11.4 or later, which resolves the race condition (CWE-367) and the insecure temporary file handling (CWE-377).
  • Configure the application to use a private java.io.tmpdir that is owned by the application and not writable by other users, preventing the untrusted resource hijack (CWE-379).
  • If upgrading is not possible, disable the native library load so that the library falls back to the safe Java implementation, eliminating the risk of native code execution.

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

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-mcr4-qmvw-px4g yawkat LZ4 Java: Native library extraction to a shared temporary directory is vulnerable to file replacement by another local user
History

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

Type Values Removed Values Added
Metrics ssvc

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


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

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

None

cvssV3_1

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

threat_severity

Moderate


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. From 1.7.0 until 1.11.4, net.jpountz.util.Native.load() uses File.createTempFile to create an exclusive temporary .lck file but derives the native-library path by removing the suffix, then FileOutputStream opens that predictable path without exclusive creation, allowing another local user with access to the same shared temporary directory to create or replace the library file before System.load() uses it. Successful exploitation depends on shared-directory permissions, host protections, and winning the race, and can execute native code as the victim; hardened systems may instead cause library loading to fail and fall back to Java implementations. Configurations using a system library, a private java.io.tmpdir, or Java-only implementations are not affected. This issue is fixed in version 1.11.4.
Title yawkat LZ4 Java: Native library extraction to a shared temporary directory is vulnerable to file replacement by another local user
Weaknesses CWE-367
CWE-377
References
Metrics cvssV4_0

{'score': 7.3, 'vector': 'CVSS:4.0/AV:L/AC:H/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-07T18:26:06.020Z

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

Link: CVE-2026-106451

cve-icon Vulnrichment

Updated: 2026-10-07T18:25:55.855Z

cve-icon NVD

Status : Awaiting Analysis

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

Modified: 2026-10-07T19:17:32.463

Link: CVE-2026-106451

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-06T19:50:41Z

Links: CVE-2026-106451 - Bugzilla

cve-icon OpenCVE Enrichment

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

Weaknesses
  • CWE-367

    Time-of-check Time-of-use (TOCTOU) Race Condition

  • CWE-377

    Insecure Temporary File

  • CWE-379

    Creation of Temporary File in Directory with Insecure Permissions