<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://db.gcve.eu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Thu, 08 Oct 2026 19:36:26 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-106451</title>
      <link>https://db.gcve.eu/vuln/fkie_cve-2026-106451</link>
      <description>&lt;p&gt;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.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;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.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/fkie_cve-2026-106451</guid>
    </item>
    <item>
      <title>GHSA-mcr4-qmvw-px4g — yawkat LZ4 Java: Native library extraction to a shared temporary directory is vulnerable to file replacement by another…</title>
      <link>https://db.gcve.eu/vuln/ghsa-mcr4-qmvw-px4g</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Maven: at.yawk.lz4:lz4-java, Maven: org.lz4:lz4-java&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;When no system-installed `liblz4-java` is found, `net.jpountz.util.Native.load()` extracts the bundled native library to `java.io.tmpdir` and loads it with `System.load`. The path of the extracted library can be predicted before it is created, and the library file is opened without exclusive creation. Another local user who can write to the same temporary directory can therefore create the file first and control the code that is loaded.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;```java
tempLibLock = File.createTempFile(&amp;#34;liblz4-java-&amp;#34;, &amp;#34;.&amp;#34; + os().libExtension + &amp;#34;.lck&amp;#34;);
tempLib = new File(tempLibLock.getAbsolutePath().replaceFirst(&amp;#34;.lck$&amp;#34;, &amp;#34;&amp;#34;));
// copy to tempLib
try (FileOutputStream out = new FileOutputStream(tempLib)) { ... }
...
System.load(tempLib.getAbsolutePath());
```&lt;/p&gt;
&lt;p&gt;Only the `.lck` file is created safely, with a random name and exclusive creation. The library path is the `.lck` name without the `.lck` suffix, and nothing reserves it. `new FileOutputStream(tempLib)` opens it with `O_CREAT|O_TRUNC` and follows symlinks.&lt;/p&gt;
&lt;p&gt;In a shared, world-writable temporary directory, another user can watch for the `.lck` file and create the corresponding library file before it is opened. If they win that race, they own the file. The victim then writes into the attacker-owned file, and the attacker can overwrite it again before `System.load`.&lt;/p&gt;
&lt;p&gt;Whether this can be exploited depends on the host:&lt;/p&gt;
&lt;p&gt;- With `fs.protected_regular = 0`, the attacker can pre-create a world-writable file, and their code is…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Maven: at.yawk.lz4:lz4-java, Maven: org.lz4:lz4-java&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;When no system-installed `liblz4-java` is found, `net.jpountz.util.Native.load()` extracts the bundled native library to `java.io.tmpdir` and loads it with `System.load`. The path of the extracted library can be predicted before it is created, and the library file is opened without exclusive creation. Another local user who can write to the same temporary directory can therefore create the file first and control the code that is loaded.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;```java
tempLibLock = File.createTempFile(&amp;#34;liblz4-java-&amp;#34;, &amp;#34;.&amp;#34; + os().libExtension + &amp;#34;.lck&amp;#34;);
tempLib = new File(tempLibLock.getAbsolutePath().replaceFirst(&amp;#34;.lck$&amp;#34;, &amp;#34;&amp;#34;));
// copy to tempLib
try (FileOutputStream out = new FileOutputStream(tempLib)) { ... }
...
System.load(tempLib.getAbsolutePath());
```&lt;/p&gt;
&lt;p&gt;Only the `.lck` file is created safely, with a random name and exclusive creation. The library path is the `.lck` name without the `.lck` suffix, and nothing reserves it. `new FileOutputStream(tempLib)` opens it with `O_CREAT|O_TRUNC` and follows symlinks.&lt;/p&gt;
&lt;p&gt;In a shared, world-writable temporary directory, another user can watch for the `.lck` file and create the corresponding library file before it is opened. If they win that race, they own the file. The victim then writes into the attacker-owned file, and the attacker can overwrite it again before `System.load`.&lt;/p&gt;
&lt;p&gt;Whether this can be exploited depends on the host:&lt;/p&gt;
&lt;p&gt;- With `fs.protected_regular = 0`, the attacker can pre-create a world-writable file, and their code is…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-mcr4-qmvw-px4g</guid>
    </item>
    <item>
      <title>UBUNTU-CVE-2026-106451</title>
      <link>https://db.gcve.eu/vuln/ubuntu-cve-2026-106451</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Ubuntu:20.04:LTS: lz4-java, Ubuntu:22.04:LTS: lz4-java, Ubuntu:24.04:LTS: lz4-java, Ubuntu:26.04:LTS: lz4-java&lt;/p&gt;
&lt;p&gt;(yawkat LZ4 Java provides LZ4 compression for Java. From 1.7.0 until 1. ...)&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Ubuntu:20.04:LTS: lz4-java, Ubuntu:22.04:LTS: lz4-java, Ubuntu:24.04:LTS: lz4-java, Ubuntu:26.04:LTS: lz4-java&lt;/p&gt;
&lt;p&gt;(yawkat LZ4 Java provides LZ4 compression for Java. From 1.7.0 until 1. ...)&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ubuntu-cve-2026-106451</guid>
    </item>
  </channel>
</rss>
