---
id: CVE-2025-58058
title: xz is a pure golang package for reading and writing xz-compressed files
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
  …
severity: medium
cvss: 5.3
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L'
cwe:
  - CWE-770
published: '2025-08-28'
updated: '2026-09-26'
sourceUpdated: '2026-09-26T00:10:00.127'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2025-58058'
references:
  - url: >-
      https://github.com/ulikunitz/xz/commit/88ddf1d0d98d688db65de034f48960b2760d2ae2
    label: security-advisories@github.com
  - url: 'https://github.com/ulikunitz/xz/security/advisories/GHSA-jc7w-c686-c4v9'
    label: security-advisories@github.com
tags:
  - nvd
epss: 0.00412
epssPercentile: 0.32795
ingestedAt: '2026-09-26T00:22:39.896Z'
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
