Skip to main content
← All vulnerabilities
CVE-2025-58058GO-2025-3922GHSA-JC7W-C686-C4V9

github.com/ulikunitz/xz leaks memory when decoding a corrupted multiple LZMA archives

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 0.5.14, 0.5.15
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: partial

Summary

xz is a pure golang package for reading and writing xz-compressed files. Prior to version 0.5.14, it is possible to put data in front of an LZMA-encoded byte stream without detecting the situation while reading the header. This can lead to increased memory consumption because the current implementation allocates the full decoding buffer directly after reading the header. The LZMA header doesn't include a magic number or has a checksum to detect such an issue according to the specification. Note that the code recognizes the issue later while reading the stream, but at this time the memory allocation has already been done. This issue has been patched in version 0.5.14.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • ulikunitz xz

    fixed in 0.5.14

  • github.com/ulikunitz/xzGo

    fixed in 0.5.15

References 2

GitHub · ulikunitz/xz