Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Dec 3, 2025

This PR contains the following updates:

Package Type Update Change
org.lz4:lz4-java → at.yawk.lz4:lz4-java compile replacement 1.8.0 -> 1.8.1

LZ4 Java Compression has Out-of-bounds memory operations which can cause DoS

CVE-2025-12183 / GHSA-vqf4-7m7x-wgfc

More information

Details

Out-of-bounds memory operations in org.lz4:lz4-java 1.8.0 and earlier allow remote attackers to cause denial of service and read adjacent memory via untrusted compressed input.

This is fixed in a forked release: at.yawk.lz4:lz4-java version 1.8.1. The original project has been archived: https://github.com/lz4/lz4-java, and Sonatype has added a redirect from org.lz4:lz4-java:1.8.1 to the new group ID.

Severity

  • CVSS Score: 8.8 / 10 (High)
  • Vector String: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:H/SC:N/SI:N/SA:N

References

This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).


yawkat LZ4 Java has a possible information leak in Java safe decompressor

CVE-2025-66566 / GHSA-cmp6-m4wj-q63q

More information

Details

Summary

Insufficient clearing of the output buffer in Java-based decompressor implementations in lz4-java 1.10.0 and earlier allows remote attackers to read previous buffer contents via crafted compressed input. In applications where the output buffer is reused without being cleared, this may lead to disclosure of sensitive data.

JNI-based implementations are not affected.

Details

During the decompression process, the lz4 algorithm may have to repeat data that was previously decompressed in the same input frame. In the Java implementation, this is implemented by copy operations within the output buffer.

With a crafted input, an attacker may induce the Java implementation to copy from a region in the output buffer that does not contain decompressed data yet. If that region contains sensitive information because the output buffer was not cleared prior to decompression, that data will then be copied to the decompressed output.

  • LZ4Factory.nativeInstance().safeDecompressor() is not affected.
  • LZ4Factory.nativeInstance().fastDecompressor() is affected because it actually uses safeInstance() since 1.8.1. In 1.8.0 and earlier versions, this implementation is instead vulnerable to the more severe CVE‐2025‐12183, so downgrading is not a solution.
  • Both decompressors of LZ4Factory.safeInstance(), LZ4Factory.unsafeInstance() and LZ4Factory.fastestJavaInstance() are affected.
  • LZ4Factory.fastestInstance() uses the nativeInstance or fastestJavaInstance depending on platform. LZ4Factory.fastestInstance().fastDecompressor() is always affected, while LZ4Factory.fastestInstance().safeDecompressor() is affected only when JNI cannot be used (e.g. on unsupported platforms).

Independent of this vulnerability, it is recommended that users migrate from fastDecompressor to safeDecompressor, as the latter is more performant (despite the name).

The impact of this vulnerability depends on how user code interacts with the decompression API. Users that allocate a new destination buffer each time, or use only zeroed buffers, are not impacted. When the buffer is reused, however, the confidentiality impact can be severe. This vulnerability is marked as VC:H out of caution.

Mitigation

lz4-java 1.10.1 fixes this issue without requiring changes in user code.

If you cannot upgrade to 1.10.1, you can mitigate this vulnerability by zeroing the output buffer before passing it to the decompression function.

Relation to CVE‐2025‐12183

This CVE is a different attack than CVE‐2025‐12183, affecting different implementations with different impact. This new vulnerability was discovered by CodeIntelligence during research that followed up on CVE‐2025‐12183. Users are recommended to upgrade to 1.10.1 to fix both vulnerabilities.

Severity

  • CVSS Score: 8.2 / 10 (High)
  • Vector String: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

References

This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).

This is a special PR that replaces org.lz4:lz4-java with the community suggested minimal stable replacement version.


Configuration

📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot changed the title fix(deps): replace org.lz4.vespa.version with at.yawk.lz4:lz4-java [security] Replace org.lz4.vespa.version with at.yawk.lz4:lz4-java [SECURITY] Dec 4, 2025
@renovate renovate bot changed the title Replace org.lz4.vespa.version with at.yawk.lz4:lz4-java [SECURITY] fix(deps): replace org.lz4.vespa.version with at.yawk.lz4:lz4-java [security] Dec 4, 2025
@renovate renovate bot force-pushed the renovate/org.lz4.vespa.version branch from 2240195 to 4650f99 Compare December 6, 2025 05:16
@renovate renovate bot changed the title fix(deps): replace org.lz4.vespa.version with at.yawk.lz4:lz4-java [security] fix(deps): replace dependency org.lz4:lz4-java with at.yawk.lz4:lz4-java [security] Dec 6, 2025
@renovate renovate bot changed the title fix(deps): replace dependency org.lz4:lz4-java with at.yawk.lz4:lz4-java [security] Replace dependency org.lz4:lz4-java with at.yawk.lz4:lz4-java 1.8.1 [SECURITY] Dec 7, 2025
@renovate renovate bot force-pushed the renovate/org.lz4.vespa.version branch from 4650f99 to 19855a9 Compare December 11, 2025 14:23
@renovate renovate bot changed the title Replace dependency org.lz4:lz4-java with at.yawk.lz4:lz4-java 1.8.1 [SECURITY] Replace org.lz4.vespa.version with at.yawk.lz4:lz4-java Dec 11, 2025
@renovate renovate bot changed the title Replace org.lz4.vespa.version with at.yawk.lz4:lz4-java Replace dependency org.lz4:lz4-java with at.yawk.lz4:lz4-java [SECURITY] Dec 11, 2025
@renovate renovate bot changed the title Replace dependency org.lz4:lz4-java with at.yawk.lz4:lz4-java [SECURITY] fix(deps): replace dependency org.lz4:lz4-java with at.yawk.lz4:lz4-java 1.8.1 [security] Dec 11, 2025
@renovate
Copy link
Contributor Author

renovate bot commented Dec 15, 2025

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

@bjorncs bjorncs force-pushed the renovate/org.lz4.vespa.version branch from abad69f to f7a6c76 Compare December 15, 2025 15:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants