CVE-2026-6100

Use-after-free in lzma.LZMADecompressor, bz2.BZ2Decompressor, and gzip.GzipFile after re-use under memory pressure

HIGH
8.1
CVSS Score
Published: April 13, 2026 at 05:15 PM UTC
Updated: October 26, 2026 at 10:10 PM UTC
3 products affected across 2 vendorsPythonEnterprise LinuxEnterprise Linux AI

Using CPython by Python Software Foundation?

Get instant alerts when new vulnerabilities affect CPython - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
HIGH8.1
Exploit prediction
EPSS 0.6%
SSVC
No known exploit

Description

Use-after-free (UAF) was possible in the `lzma.LZMADecompressor`, `bz2.BZ2Decompressor`, and `gzip.GzipFile` when a memory allocation fails with a `MemoryError` and the decompression instance is re-used. This scenario can be triggered if the process is under memory pressure. The fix cleans up the dangling pointer in this specific error condition. The vulnerability is only present if the program re-uses decompressor instances across multiple decompression calls even after a `MemoryError` is raised during decompression. Using the helper functions to one-shot decompress data such as `lzma.decompress()`, `bz2.decompress()`, `gzip.decompress()`, and `zlib.decompress()` are not affected as a new decompressor instance is used per call. If the decompressor instance is not re-used after an error condition, this usage is similarly not vulnerable.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

v < 3.10.213.11.0 ≤ v < 3.11.163.12.0 ≤ v < 3.12.143.13.0 ≤ v < 3.13.143.14.0a1 ≤ v < 3.14.5rc13.15.0a1 ≤ v < 3.15.0b13.11.03.12.03.13.03.14.0a13.15.0a1
Affected range stops below 3.10.21, so it looks safe — our inference, not a vendor statement
Affected range stops below 3.11.16, so it looks safe — our inference, not a vendor statement
Affected range stops below 3.12.14, so it looks safe — our inference, not a vendor statement
Affected range stops below 3.13.14, so it looks safe — our inference, not a vendor statement
Affected range stops below 3.14.5rc1, so it looks safe — our inference, not a vendor statement
Affected range stops below 3.15.0b1, so it looks safe — our inference, not a vendor statement
Vendor states this is fixed in 0:3.11.11-2.el9_6.7 (unaffected)
Vendor states this is fixed in 0:3.11.13-5.3.el9_7 (unaffected)
Vendor states this is fixed in 0:3.11.13-7.el8_10 (unaffected)
Vendor states this is fixed in 0:3.11.13-9.el9_8 (unaffected)
Vendor states this is fixed in 0:3.11.2-2.el8_8.10 (unaffected)
Vendor states this is fixed in 0:3.11.2-2.el9_2.12 (unaffected)
Vendor states this is fixed in 0:3.11.7-1.el9_4.13 (unaffected)
Vendor states this is fixed in 0:3.12.1-4.el9_4.13 (unaffected)
Vendor states this is fixed in 0:3.12.12-3.el10_1.3 (unaffected)
Vendor states this is fixed in 0:3.12.12-4.el9_7.3 (unaffected)
Vendor states this is fixed in 0:3.12.13-2.el10_2 (unaffected)
Vendor states this is fixed in 0:3.12.13-2.el8_10 (unaffected)
Vendor states this is fixed in 0:3.12.13-2.el9_8 (unaffected)
Vendor states this is fixed in 0:3.12.9-1.el9_6.8 (unaffected)
Vendor states this is fixed in 0:3.12.9-2.el10_0.9 (unaffected)
Vendor states this is fixed in 0:3.14.4-2.el10_2 (unaffected)
Vendor states this is fixed in 0:3.14.4-2.el9_8 (unaffected)
Vendor states this is fixed in 0:3.6.8-39.el8_4.11 (unaffected)
Vendor states this is fixed in 0:3.6.8-47.el8_6.13 (unaffected)
Vendor states this is fixed in 0:3.6.8-51.el8_8.15 (unaffected)
Vendor states this is fixed in 0:3.6.8-76.el8_10 (unaffected)
Vendor states this is fixed in 0:3.9.10-4.el9_0.11 (unaffected)
Vendor states this is fixed in 0:3.9.16-1.el9_2.14 (unaffected)
Vendor states this is fixed in 0:3.9.18-3.el9_4.13 (unaffected)
Vendor states this is fixed in 0:3.9.21-2.el9_6.6 (unaffected)
Vendor states this is fixed in 0:3.9.25-3.el9_7.3 (unaffected)
Vendor states this is fixed in 0:3.9.25-7.el9_8 (unaffected)
Vendor states this is fixed in 8 (unaffected)
Vendor states this is fixed in 6 (unknown)
Vendor states this is fixed in 7 (unknown)
Vendor states this is fixed in 1776773390 (unaffected)
Vendor states this is fixed in 1776773505 (unaffected)
Vendor states this is fixed in 1776871984 (unaffected)
Vendor states this is fixed in 1776871985 (unaffected)
Vendor states this is fixed in 1776871987 (unaffected)
Vendor states this is fixed in 1776872005 (unaffected)
Vendor states this is fixed in 1776938871 (unaffected)

SSVC — Action Prioritization

SSVCNo known exploitNot automatableTotal impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

8.1HIGHredhat-SADP
Attack Vector
NETWORK
Complexity
HIGH
Privileges
NONE
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
HIGH
Integrity
HIGH
Availability
HIGH
Vector?

Quick Info

StatusAWAITING ANALYSIS
CWE
CWE-416CWE-787CWE-825

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card