Back to search

Python

Python

See the latest tracked release, confirm when it was published, and subscribe for update emails.

Current version
Last checked: 2026-09-04

3.10.21

Release date
August 13, 2026
Security status
Current version appears affected by 4 high-severity CVEs.

Source

endoflife.date

Public release notes are linked for the latest stored release.

Release history

See the latest published releases stored for this product.

Version Published Notes
3.10.21 2026-08-13 Release Notes
3.10.20 2026-03-03 Release Notes

Vulnerability tracking

versionPing monitors CVEs for this product. Matching CVEs are listed below. We only display CVEs with a CVSS score of 7.0 or higher that were published within the last 90 days.

Affected status is inferred from published affected version ranges where available. Always verify against the vendor advisory before making production decisions.

CVE Severity Published Status Summary
CVE-2026-15308 HIGH (8.7) 2026-07-09 Current versionnot affected

The incremental HTML parser (html.parser.HTMLParser) allows for CPU denial-of-service through repeated unterminated markup declarations when processing uncontrolled data.

Affected versions
  • From (including) 0 - Up to (excluding) 3.10.21
  • From (including) 3.11.0 - Up to (excluding) 3.11.16
Show 4 more
  • From (including) 3.12.0 - Up to (excluding) 3.12.14
  • From (including) 3.13.0 - Up to (excluding) 3.13.15
  • From (including) 3.14.0 - Up to (excluding) 3.14.7
  • From (including) 3.15.0a1 - Up to (excluding) 3.15.0b4
CVE-2026-11972 HIGH (8.2) 2026-06-23 Current versionnot affected

When using the "tarfile" module with a file opened in "streaming mode" (mode="r|") the tarfile module did not properly handle EOF, making archive parsing take exponentially longer.

Affected versions
  • From (including) 0 - Up to (excluding) 3.10.21
  • From (including) 3.11.0 - Up to (excluding) 3.11.16
Show 4 more
  • From (including) 3.12.0 - Up to (excluding) 3.12.14
  • From (including) 3.13.0 - Up to (excluding) 3.13.15
  • From (including) 3.14.0 - Up to (excluding) 3.14.7
  • From (including) 3.15.0a1 - Up to (excluding) 3.15.0b4
CVE-2026-11940 HIGH (7.8) 2026-06-23 Current versionnot affected

tarfile.extractall() with the 'data' or 'tar' filter could be bypassed by a crafted archive where a hardlink references a symlink stored at a deeper name than the hardlink itself.  The extraction fallback validated the symlink at it's archived location but recreated it at the hardlink's shallower path, letting a relative target the filter judged contained escape the destination directory.  This allowed a malicious tar archive to create a symlink pointing outside the destination, enabling out-of-destination file reads or writes. This was an incomplete fix of CVE-2025-4330.

Affected versions
  • From (including) 0 - Up to (excluding) 3.10.21
  • From (including) 3.11.0 - Up to (excluding) 3.11.16
Show 4 more
  • From (including) 3.12.0 - Up to (excluding) 3.12.14
  • From (including) 3.13.0 - Up to (excluding) 3.13.15
  • From (including) 3.14.0 - Up to (excluding) 3.14.7
  • From (including) 3.15.0a1 - Up to (excluding) 3.15.0b4
CVE-2026-9669 HIGH (8.2) 2026-06-08 Current versionnot affected

bz2.BZ2Decompressor objects could be reused after a decompression error. If an application caught the resulting OSError and retried with the same decompressor, crafted input could cause the decompressor to resume from an invalid internal state and perform out-of-bounds writes to a stack buffer. This could crash the process when processing untrusted data.

Affected versions
  • From (including) 0 - Up to (excluding) 3.10.21
  • From (including) 3.11.0 - Up to (excluding) 3.11.16
Show 4 more
  • From (including) 3.12.0 - Up to (excluding) 3.12.14
  • From (including) 3.13.0 - Up to (excluding) 3.13.14
  • From (including) 3.14.0 - Up to (excluding) 3.14.6
  • From (including) 3.15.0a1 - Up to (excluding) 3.15.0b3
CVE-2026-3298 HIGH (8.8) 2026-04-21 Current versionaffected

The method "sock_recvfrom_into()" of "asyncio.ProacterEventLoop" (Windows only) was missing a boundary check for the data buffer when using nbytes parameter. This allowed for an out-of-bounds buffer write if data was larger than the buffer size. Non-Windows platforms are not affected.

Affected versions
  • From (including) 0 - Up to (excluding) 3.11.16
  • From (including) 3.12.0 - Up to (excluding) 3.12.14
Show 3 more
  • From (including) 3.13.0 - Up to (excluding) 3.13.14
  • From (including) 3.14.0a1 - Up to (excluding) 3.14.5rc1
  • From (including) 3.15.0a1 - Up to (excluding) 3.15.0b1
CVE-2024-12254 HIGH (8.7) 2024-12-06 Current versionaffected

Starting in Python 3.12.0, the asyncio._SelectorSocketTransport.writelines() method would not "pause" writing and signal to the Protocol to drain the buffer to the wire once the write buffer reached the "high-water mark". Because of this, Protocols would not periodically drain the write buffer potentially leading to memory exhaustion. This vulnerability likely impacts a small number of users, you must be using Python 3.12.0 or later, on macOS or Linux, using the asyncio module with protocols, and using .writelines() method which had new zero-copy-on-write behavior in Python 3.12.0 and later. If not all of these factors are true then your usage of Python is unaffected.

Affected versions
  • From (including) 0 - Up to (excluding) 3.12.9
  • From (including) 3.13.0 - Up to (excluding) 3.13.2
Show 2 more
  • From (including) 3.14.0a1 - Up to (excluding) 3.14.0a3
  • From (including) 3.12.0 - Up to (excluding) 3.14.0a1
CVE-2024-8088 HIGH (8.7) 2024-08-22 Current versionaffected

There is a HIGH severity vulnerability affecting the CPython "zipfile" module affecting "zipfile.Path". Note that the more common API "zipfile.ZipFile" class is unaffected. When iterating over names of entries in a zip archive (for example, methods of "zipfile.Path" like "namelist()", "iterdir()", etc) the process can be put into an infinite loop with a maliciously crafted zip archive. This defect applies when reading only metadata or extracting the contents of the zip archive. Programs that are not handling user-controlled zip archives are not affected.

Affected versions
  • From (including) 0 - Up to (excluding) 3.8.20
  • From (including) 3.9.0 - Up to (excluding) 3.9.20
Show 5 more
  • From (including) 3.10.0 - Up to (excluding) 3.10.15
  • From (including) 3.11.0 - Up to (excluding) 3.11.10
  • From (including) 3.12.0 - Up to (excluding) 3.12.6
  • From (including) 3.13.0a1 - Up to (excluding) 3.13.0rc2
  • From (including) 0 - Up to (including) 3.13.0
CVE-2024-4032 HIGH (7.5) 2024-06-17 Current versionaffected

The “ipaddress” module contained incorrect information about whether certain IPv4 and IPv6 addresses were designated as “globally reachable” or “private”. This affected the is_private and is_global properties of the ipaddress.IPv4Address, ipaddress.IPv4Network, ipaddress.IPv6Address, and ipaddress.IPv6Network classes, where values wouldn’t be returned in accordance with the latest information from the IANA Special-Purpose Address Registries. CPython 3.12.4 and 3.13.0a6 contain updated information from these registries and thus have the intended behavior.

Affected versions
  • From (including) 0 - Up to (excluding) 3.8.20
  • From (including) 3.9.0 - Up to (excluding) 3.9.20
Show 5 more
  • From (including) 3.10.0 - Up to (excluding) 3.10.15
  • From (including) 3.11.0 - Up to (excluding) 3.11.10
  • From (including) 3.12.0 - Up to (excluding) 3.12.4
  • From (including) 3.13.0a1 - Up to (excluding) 3.13.0a6
  • From (including) 0 - Up to (excluding) 3.12.4