UAF in CPython lzma/BZ2/gzip Decompressors before v3.15.0
CVE-2026-6100 Published on April 13, 2026
Use-after-free in lzma.LZMADecompressor, bz2.BZ2Decompressor, and gzip.GzipFile after re-use under memory pressure
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.
Vulnerability Analysis
CVE-2026-6100 is exploitable with network access, and does not require authorization privileges or user interaction. This vulnerability is consided to have a high level of attack complexity. The potential impact of an exploit of this vulnerability is considered to be very high.
Weakness Types
What is a Dangling pointer Vulnerability?
Referencing memory after it has been freed can cause a program to crash, use unexpected values, or execute code.
CVE-2026-6100 has been classified to as a Dangling pointer vulnerability or weakness.
What is a Memory Corruption Vulnerability?
The software writes data past the end, or before the beginning, of the intended buffer. Typically, this can result in corruption of data, a crash, or code execution. The software may modify an index or perform pointer arithmetic that references a memory location that is outside of the boundaries of the buffer. A subsequent write operation then produces undefined or unexpected results.
CVE-2026-6100 has been classified to as a Memory Corruption vulnerability or weakness.
What is a Dangling pointer Vulnerability?
The program dereferences a pointer that contains a location for memory that was previously valid, but is no longer valid. When a program releases memory, but it maintains a pointer to that memory, then the memory might be re-allocated at a later time. If the original pointer is accessed to read or write data, then this could cause the program to read or modify data that is in use by a different function or process. Depending on how the newly-allocated memory is used, this could lead to a denial of service, information exposure, or code execution.
CVE-2026-6100 has been classified to as a Dangling pointer vulnerability or weakness.
Products Associated with CVE-2026-6100
You can be notified by email with stack.watch whenever vulnerabilities like CVE-2026-6100 are published in these products:
Affected Versions
Python Software Foundation CPython:- Before 3.13.14 is affected.
- Version 3.14.0a1 and below 3.14.5rc1 is affected.
- Version 3.15.0a1 and below 3.15.0b1 is affected.
- Version 0:3.12.12-3.el10_1.3 and below * is unaffected.
- Version 0:3.12.13-2.el10_2 and below * is unaffected.
- Version 0:3.14.4-2.el10_2 and below * is unaffected.
- Version 0:3.12.9-2.el10_0.9 and below * is unaffected.
- Version 0:3.12.13-2.el8_10 and below * is unaffected.
- Version 0:3.11.13-7.el8_10 and below * is unaffected.
- Version 0:3.6.8-76.el8_10 and below * is unaffected.
- Version 0:3.6.8-39.el8_4.11 and below * is unaffected.
- Version 0:3.6.8-39.el8_4.11 and below * is unaffected.
- Version 0:3.6.8-47.el8_6.13 and below * is unaffected.
- Version 0:3.6.8-47.el8_6.13 and below * is unaffected.
- Version 0:3.6.8-47.el8_6.13 and below * is unaffected.
- Version 0:3.6.8-51.el8_8.15 and below * is unaffected.
- Version 0:3.11.2-2.el8_8.10 and below * is unaffected.
- Version 0:3.6.8-51.el8_8.15 and below * is unaffected.
- Version 0:3.11.2-2.el8_8.10 and below * is unaffected.
- Version 0:3.12.12-4.el9_7.3 and below * is unaffected.
- Version 0:3.12.13-2.el9_8 and below * is unaffected.
- Version 0:3.11.13-5.3.el9_7 and below * is unaffected.
- Version 0:3.11.13-9.el9_8 and below * is unaffected.
- Version 0:3.9.25-3.el9_7.3 and below * is unaffected.
- Version 0:3.9.25-7.el9_8 and below * is unaffected.
- Version 0:3.14.4-2.el9_8 and below * is unaffected.
- Version 0:3.9.10-4.el9_0.11 and below * is unaffected.
- Version 0:3.11.2-2.el9_2.12 and below * is unaffected.
- Version 0:3.9.16-1.el9_2.14 and below * is unaffected.
- Version 0:3.11.7-1.el9_4.13 and below * is unaffected.
- Version 0:3.12.1-4.el9_4.13 and below * is unaffected.
- Version 0:3.9.18-3.el9_4.13 and below * is unaffected.
- Version 0:3.11.11-2.el9_6.7 and below * is unaffected.
- Version 0:3.12.9-1.el9_6.8 and below * is unaffected.
- Version 0:3.9.21-2.el9_6.6 and below * is unaffected.
- Version 7.13.5-4.1777325677 and below * is unaffected.
- Version 7.13.5-4.1777325711 and below * is unaffected.
- Version 7.13.5-4.1777325710 and below * is unaffected.
- Version 7.13.5-3.1777325680 and below * is unaffected.
- Version 7.13.5-4.1777325709 and below * is unaffected.
- Version 7.13.5-4.1777325680 and below * is unaffected.
- Version 7.13.5-4.1777325708 and below * is unaffected.
- Version 1780681984 and below * is unaffected.
- Version 1782352950 and below * is unaffected.
- Version 1782352919 and below * is unaffected.
- Version 1782353093 and below * is unaffected.
- Version 1782352847 and below * is unaffected.
- Version 1776871984 and below * is unaffected.
- Version 1776871985 and below * is unaffected.
- Version 1776872005 and below * is unaffected.
- Version 1776773390 and below * is unaffected.
- Version 1776871987 and below * is unaffected.
- Version 1776773505 and below * is unaffected.
- Version 1776938871 and below * is unaffected.
- Version 3.13.13-1.1.hum1 and below * is unaffected.
- Version 3.11.15-4.hum1 and below * is unaffected.
- Version 3.12.13-3.hum1 and below * is unaffected.
- Version 3.14.4-2.hum1 and below * is unaffected.
- Version 1777459441 and below * is unaffected.
- Version 1777454300 and below * is unaffected.
- Version 1777459504 and below * is unaffected.
- Version 1779798159 and below * is unaffected.
- Version 1779798164 and below * is unaffected.
- Version 1779798165 and below * is unaffected.
- Version 1779798222 and below * is unaffected.
Exploit Probability
EPSS (Exploit Prediction Scoring System) scores estimate the probability that a vulnerability will be exploited in the wild within the next 30 days. The percentile shows you how this score compares to all other vulnerabilities.