Debian Package Tracker
Register | Log in
Subscribe

python3.13

Interactive high-level object-oriented language (version 3.13)

Choose email to subscribe with

general
  • source: python3.13 (main)
  • version: 3.13.12-1
  • maintainer: Matthias Klose (DMD)
  • uploaders: Stefano Rivera [DMD]
  • arch: all any
  • std-ver: 4.7.2
  • VCS: Git (Browse, QA)
versions [more versions can be listed by madison] [old versions available from snapshot.debian.org]
[pool directory]
  • stable: 3.13.5-2
  • testing: 3.13.12-1
  • unstable: 3.13.12-1
versioned links
  • 3.13.5-2: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 3.13.12-1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
binaries
  • idle-python3.13
  • libpython3.13
  • libpython3.13-dbg
  • libpython3.13-dev (1 bugs: 0, 0, 1, 0)
  • libpython3.13-minimal
  • libpython3.13-stdlib (2 bugs: 0, 2, 0, 0)
  • libpython3.13-testsuite
  • python3.13 (3 bugs: 0, 2, 1, 0)
  • python3.13-dbg (3 bugs: 0, 3, 0, 0)
  • python3.13-dev
  • python3.13-doc
  • python3.13-examples
  • python3.13-full
  • python3.13-gdbm (1 bugs: 0, 1, 0, 0)
  • python3.13-minimal (1 bugs: 0, 0, 1, 0)
  • python3.13-nopie
  • python3.13-tk
  • python3.13-venv
action needed
A new upstream version is available: 3.13.13 high
A new upstream version 3.13.13 is available, you should consider packaging it.
Created: 2026-04-09 Last update: 2026-04-25 03:32
10 security issues in trixie high

There are 10 open security issues in trixie.

1 important issue:
  • CVE-2026-6100: 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.
6 issues left for the package maintainer to handle:
  • CVE-2026-1502: (needs triaging) CR/LF bytes were not rejected by HTTP client proxy tunnel headers or host.
  • CVE-2026-3446: (needs triaging) When calling base64.b64decode() or related functions the decoding process would stop after encountering the first padded quad regardless of whether there was more information to be processed. This can lead to data being accepted which may be processed differently by other implementations. Use "validate=True" to enable stricter processing of base64 data.
  • CVE-2026-3644: (needs triaging) The fix for CVE-2026-0672, which rejected control characters in http.cookies.Morsel, was incomplete. The Morsel.update(), |= operator, and unpickling paths were not patched, allowing control characters to bypass input validation. Additionally, BaseCookie.js_output() lacked the output validation applied to BaseCookie.output().
  • CVE-2026-4224: (needs triaging) When an Expat parser with a registered ElementDeclHandler parses an inline document type definition containing a deeply nested content model a C stack overflow occurs.
  • CVE-2026-4519: (needs triaging) The webbrowser.open() API would accept leading dashes in the URL which could be handled as command line options for certain web browsers. New behavior rejects leading dashes. Users are recommended to sanitize URLs prior to passing to webbrowser.open().
  • CVE-2026-6019: (needs triaging) http.cookies.Morsel.js_output() returns an inline <script> snippet and only escapes " for JavaScript string context. It does not neutralize the HTML parser-sensitive sequence </script> inside the generated script element. Mitigation base64-encodes the cookie value to disallow escaping using cookie value.

You can find information about how to handle these issues in the security team's documentation.

3 ignored issues:
  • CVE-2025-12781: When passing data to the b64decode(), standard_b64decode(), and urlsafe_b64decode() functions in the "base64" module the characters "+/" will always be accepted, regardless of the value of "altchars" parameter, typically used to establish an "alternative base64 alphabet" such as the URL safe alphabet. This behavior matches what is recommended in earlier base64 RFCs, but newer RFCs now recommend either dropping characters outside the specified base64 alphabet or raising an error. The old behavior has the possibility of causing data integrity issues. This behavior can only be insecure if your application uses an alternate base64 alphabet (without "+/"). If your application does not use the "altchars" parameter or the urlsafe_b64decode() function, then your application does not use an alternative base64 alphabet. The attached patches DOES NOT make the base64-decode behavior raise an error, as this would be a change in behavior and break existing programs. Instead, the patch deprecates the behavior which will be replaced with the newly recommended behavior in a future version of Python. Users are recommended to mitigate by verifying user-controlled inputs match the base64 alphabet they are expecting or verify that their application would not be affected if the b64decode() functions accepted "+" or "/" outside of altchars.
  • CVE-2025-15366: The imaplib module, when passed a user-controlled command, can have additional commands injected using newlines. Mitigation rejects commands containing control characters.
  • CVE-2025-15367: The poplib module, when passed a user-controlled command, can have additional commands injected using newlines. Mitigation rejects commands containing control characters.
14 issues that should be fixed with the next stable update:
  • CVE-2025-6069: The html.parser.HTMLParser class had worse-case quadratic complexity when processing certain crafted malformed inputs potentially leading to amplified denial-of-service.
  • CVE-2025-6075: If the value passed to os.path.expandvars() is user-controlled a performance degradation is possible when expanding environment variables.
  • CVE-2025-8194: There is a defect in the CPython “tarfile” module affecting the “TarFile” extraction and entry enumeration APIs. The tar implementation would process tar archives with negative offsets without error, resulting in an infinite loop and deadlock during the parsing of maliciously crafted tar archives. This vulnerability can be mitigated by including the following patch after importing the “tarfile” module:  https://gist.github.com/sethmlarson/1716ac5b82b73dbcbf23ad2eff8b33e1
  • CVE-2025-8291: The 'zipfile' module would not check the validity of the ZIP64 End of Central Directory (EOCD) Locator record offset value would not be used to locate the ZIP64 EOCD record, instead the ZIP64 EOCD record would be assumed to be the previous record in the ZIP archive. This could be abused to create ZIP archives that are handled differently by the 'zipfile' module compared to other ZIP implementations. Remediation maintains this behavior, but checks that the offset specified in the ZIP64 EOCD Locator record matches the expected value.
  • CVE-2026-0672: When using http.cookies.Morsel, user-controlled cookie values and parameters can allow injecting HTTP headers into messages. Patch rejects all control characters within cookie names, values, and parameters.
  • CVE-2026-0865: User-controlled header names and values containing newlines can allow injecting HTTP headers.
  • CVE-2026-1299: The email module, specifically the "BytesGenerator" class, didn’t properly quote newlines for email headers when serializing an email message allowing for header injection when an email is serialized. This is only applicable if using "LiteralHeader" writing headers that don't respect email folding rules, the new behavior will reject the incorrectly folded headers in "BytesGenerator".
  • CVE-2026-2297: The import hook in CPython that handles legacy *.pyc files (SourcelessFileLoader) is incorrectly handled in FileLoader (a base class) and so does not use io.open_code() to read the .pyc files. sys.audit handlers for this audit event therefore do not fire.
  • CVE-2025-11468: When folding a long comment in an email header containing exclusively unfoldable characters, the parenthesis would not be preserved. This could be used for injecting headers into email messages where addresses are user-controlled and not sanitized.
  • CVE-2025-12084: When building nested elements using xml.dom.minidom methods such as appendChild() that have a dependency on _clear_id_cache() the algorithm is quadratic. Availability can be impacted when building excessively nested documents.
  • CVE-2025-13462: The "tarfile" module would still apply normalization of AREGTYPE (\x00) blocks to DIRTYPE, even while processing a multi-block member such as GNUTYPE_LONGNAME or GNUTYPE_LONGLINK. This could result in a crafted tar archive being misinterpreted by the tarfile module compared to other implementations.
  • CVE-2025-13836: When reading an HTTP response from a server, if no read amount is specified, the default behavior will be to use Content-Length. This allows a malicious server to cause the client to read large amounts of data into memory, potentially causing OOM or other DoS.
  • CVE-2025-13837: When loading a plist file, the plistlib module reads data in size specified by the file itself, meaning a malicious file can cause OOM and DoS issues
  • CVE-2025-15282: User-controlled data URLs parsed by urllib.request.DataHandler allow injecting headers through newlines in the data URL mediatype.
Created: 2025-05-16 Last update: 2026-04-23 17:30
13 security issues in sid high

There are 13 open security issues in sid.

13 important issues:
  • CVE-2026-1502: CR/LF bytes were not rejected by HTTP client proxy tunnel headers or host.
  • CVE-2026-2297: The import hook in CPython that handles legacy *.pyc files (SourcelessFileLoader) is incorrectly handled in FileLoader (a base class) and so does not use io.open_code() to read the .pyc files. sys.audit handlers for this audit event therefore do not fire.
  • CVE-2026-3446: When calling base64.b64decode() or related functions the decoding process would stop after encountering the first padded quad regardless of whether there was more information to be processed. This can lead to data being accepted which may be processed differently by other implementations. Use "validate=True" to enable stricter processing of base64 data.
  • CVE-2026-3644: The fix for CVE-2026-0672, which rejected control characters in http.cookies.Morsel, was incomplete. The Morsel.update(), |= operator, and unpickling paths were not patched, allowing control characters to bypass input validation. Additionally, BaseCookie.js_output() lacked the output validation applied to BaseCookie.output().
  • CVE-2026-4224: When an Expat parser with a registered ElementDeclHandler parses an inline document type definition containing a deeply nested content model a C stack overflow occurs.
  • CVE-2026-4519: The webbrowser.open() API would accept leading dashes in the URL which could be handled as command line options for certain web browsers. New behavior rejects leading dashes. Users are recommended to sanitize URLs prior to passing to webbrowser.open().
  • CVE-2026-4786: Mitgation of CVE-2026-4519 was incomplete. If the URL contained "%action" the mitigation could be bypassed for certain browser types the "webbrowser.open()" API could have commands injected into the underlying shell. See CVE-2026-4519 for details.
  • CVE-2026-6019: http.cookies.Morsel.js_output() returns an inline <script> snippet and only escapes " for JavaScript string context. It does not neutralize the HTML parser-sensitive sequence </script> inside the generated script element. Mitigation base64-encodes the cookie value to disallow escaping using cookie value.
  • CVE-2026-6100: 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.
  • CVE-2025-12781: When passing data to the b64decode(), standard_b64decode(), and urlsafe_b64decode() functions in the "base64" module the characters "+/" will always be accepted, regardless of the value of "altchars" parameter, typically used to establish an "alternative base64 alphabet" such as the URL safe alphabet. This behavior matches what is recommended in earlier base64 RFCs, but newer RFCs now recommend either dropping characters outside the specified base64 alphabet or raising an error. The old behavior has the possibility of causing data integrity issues. This behavior can only be insecure if your application uses an alternate base64 alphabet (without "+/"). If your application does not use the "altchars" parameter or the urlsafe_b64decode() function, then your application does not use an alternative base64 alphabet. The attached patches DOES NOT make the base64-decode behavior raise an error, as this would be a change in behavior and break existing programs. Instead, the patch deprecates the behavior which will be replaced with the newly recommended behavior in a future version of Python. Users are recommended to mitigate by verifying user-controlled inputs match the base64 alphabet they are expecting or verify that their application would not be affected if the b64decode() functions accepted "+" or "/" outside of altchars.
  • CVE-2025-13462: The "tarfile" module would still apply normalization of AREGTYPE (\x00) blocks to DIRTYPE, even while processing a multi-block member such as GNUTYPE_LONGNAME or GNUTYPE_LONGLINK. This could result in a crafted tar archive being misinterpreted by the tarfile module compared to other implementations.
  • CVE-2025-15366: The imaplib module, when passed a user-controlled command, can have additional commands injected using newlines. Mitigation rejects commands containing control characters.
  • CVE-2025-15367: The poplib module, when passed a user-controlled command, can have additional commands injected using newlines. Mitigation rejects commands containing control characters.
Created: 2026-01-21 Last update: 2026-04-23 17:30
13 security issues in forky high

There are 13 open security issues in forky.

13 important issues:
  • CVE-2026-1502: CR/LF bytes were not rejected by HTTP client proxy tunnel headers or host.
  • CVE-2026-2297: The import hook in CPython that handles legacy *.pyc files (SourcelessFileLoader) is incorrectly handled in FileLoader (a base class) and so does not use io.open_code() to read the .pyc files. sys.audit handlers for this audit event therefore do not fire.
  • CVE-2026-3446: When calling base64.b64decode() or related functions the decoding process would stop after encountering the first padded quad regardless of whether there was more information to be processed. This can lead to data being accepted which may be processed differently by other implementations. Use "validate=True" to enable stricter processing of base64 data.
  • CVE-2026-3644: The fix for CVE-2026-0672, which rejected control characters in http.cookies.Morsel, was incomplete. The Morsel.update(), |= operator, and unpickling paths were not patched, allowing control characters to bypass input validation. Additionally, BaseCookie.js_output() lacked the output validation applied to BaseCookie.output().
  • CVE-2026-4224: When an Expat parser with a registered ElementDeclHandler parses an inline document type definition containing a deeply nested content model a C stack overflow occurs.
  • CVE-2026-4519: The webbrowser.open() API would accept leading dashes in the URL which could be handled as command line options for certain web browsers. New behavior rejects leading dashes. Users are recommended to sanitize URLs prior to passing to webbrowser.open().
  • CVE-2026-4786: Mitgation of CVE-2026-4519 was incomplete. If the URL contained "%action" the mitigation could be bypassed for certain browser types the "webbrowser.open()" API could have commands injected into the underlying shell. See CVE-2026-4519 for details.
  • CVE-2026-6019: http.cookies.Morsel.js_output() returns an inline <script> snippet and only escapes " for JavaScript string context. It does not neutralize the HTML parser-sensitive sequence </script> inside the generated script element. Mitigation base64-encodes the cookie value to disallow escaping using cookie value.
  • CVE-2026-6100: 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.
  • CVE-2025-12781: When passing data to the b64decode(), standard_b64decode(), and urlsafe_b64decode() functions in the "base64" module the characters "+/" will always be accepted, regardless of the value of "altchars" parameter, typically used to establish an "alternative base64 alphabet" such as the URL safe alphabet. This behavior matches what is recommended in earlier base64 RFCs, but newer RFCs now recommend either dropping characters outside the specified base64 alphabet or raising an error. The old behavior has the possibility of causing data integrity issues. This behavior can only be insecure if your application uses an alternate base64 alphabet (without "+/"). If your application does not use the "altchars" parameter or the urlsafe_b64decode() function, then your application does not use an alternative base64 alphabet. The attached patches DOES NOT make the base64-decode behavior raise an error, as this would be a change in behavior and break existing programs. Instead, the patch deprecates the behavior which will be replaced with the newly recommended behavior in a future version of Python. Users are recommended to mitigate by verifying user-controlled inputs match the base64 alphabet they are expecting or verify that their application would not be affected if the b64decode() functions accepted "+" or "/" outside of altchars.
  • CVE-2025-13462: The "tarfile" module would still apply normalization of AREGTYPE (\x00) blocks to DIRTYPE, even while processing a multi-block member such as GNUTYPE_LONGNAME or GNUTYPE_LONGLINK. This could result in a crafted tar archive being misinterpreted by the tarfile module compared to other implementations.
  • CVE-2025-15366: The imaplib module, when passed a user-controlled command, can have additional commands injected using newlines. Mitigation rejects commands containing control characters.
  • CVE-2025-15367: The poplib module, when passed a user-controlled command, can have additional commands injected using newlines. Mitigation rejects commands containing control characters.
Created: 2026-01-21 Last update: 2026-04-23 17:30
lintian reports 6 errors and 30 warnings high
Lintian reports 6 errors and 30 warnings about this package. You should make the package lintian clean getting rid of them.
Created: 2026-02-05 Last update: 2026-02-05 10:01
AppStream hints: 1 error and 1 warning for idle-python3.13 high
AppStream found metadata issues for packages:
  • idle-python3.13: 1 error and 1 warning
You should get rid of them to provide more metadata about this software.
Created: 2024-10-08 Last update: 2024-10-08 17:00
2 bugs tagged patch in the BTS normal
The BTS contains patches fixing 2 bugs, consider including or untagging them.
Created: 2026-04-06 Last update: 2026-04-25 06:30
Multiarch hinter reports 2 issue(s) normal
There are issues with the multiarch metadata for this package.
  • python3.13-examples could be marked Multi-Arch: foreign
  • python3.13-gdbm could be marked Multi-Arch: same
Created: 2024-05-15 Last update: 2026-04-25 05:30
Depends on packages which need a new maintainer normal
The packages that python3.13 depends on which need a new maintainer are:
  • db5.3 (#1055356)
    • Depends: libdb5.3t64 libdb5.3t64
  • systemtap (#1114760)
    • Build-Depends: systemtap-sdt-dev
  • db-defaults (#1055344)
    • Build-Depends: libdb-dev
Created: 2024-05-15 Last update: 2026-04-25 05:02
Does not build reproducibly during testing normal
A package building reproducibly enables third parties to verify that the source matches the distributed binaries. It has been identified that this source package produced different results, failed to build or had other issues in a test environment. Please read about how to improve the situation!
Created: 2024-05-31 Last update: 2026-04-25 04:31
version in VCS is newer than in repository, is it time to upload? normal
vcswatch reports that this package seems to have a new changelog entry (version 3.13.12-2, distribution UNRELEASED) and new commits in its VCS. You should consider whether it's time to make an upload.

Here are the relevant commit messages:
commit b3ad75229fff05df935377788036a62cdacc5c32
Author: Matthias Klose <doko@ubuntu.com>
Date:   Tue Apr 7 05:37:05 2026 +0200

      * Explicitly build-depend on uuid-dev. LP: #2147343.
Created: 2026-04-07 Last update: 2026-04-22 14:00
10 open merge requests in Salsa normal
There are 10 open merge requests for this package on Salsa. You should consider reviewing and/or merging these merge requests.
Created: 2025-08-19 Last update: 2025-11-23 15:02
debian/patches: 9 patches to forward upstream low

Among the 27 debian patches available in version 3.13.12-1 of the package, we noticed the following issues:

  • 9 patches where the metadata indicates that the patch has not yet been forwarded upstream. You should either forward the patch upstream or update the metadata to document its real status.
Created: 2024-05-15 Last update: 2026-02-05 10:31
Standards version of the package is outdated. wishlist
The package should be updated to follow the last version of Debian Policy (Standards-Version 4.7.4 instead of 4.7.2).
Created: 2025-12-23 Last update: 2026-03-31 15:01
testing migrations
  • This package will soon be part of the auto-openssl transition. You might want to ensure that your package is ready for it. You can probably find supplementary information in the debian-release archives or in the corresponding release.debian.org bug.
news
[rss feed]
  • [2026-02-11] python3.13 3.13.12-1 MIGRATED to testing (Debian testing watch)
  • [2026-02-04] Accepted python3.13 3.13.12-1 (source) into unstable (Stefano Rivera)
  • [2025-12-12] python3.13 3.13.11-1 MIGRATED to testing (Debian testing watch)
  • [2025-12-06] Accepted python3.13 3.13.11-1 (source) into unstable (Stefano Rivera)
  • [2025-10-22] python3.13 3.13.9-1 MIGRATED to testing (Debian testing watch)
  • [2025-10-16] Accepted python3.13 3.13.9-1 (source) into unstable (Stefano Rivera)
  • [2025-10-15] python3.13 3.13.8-1 MIGRATED to testing (Debian testing watch)
  • [2025-10-09] Accepted python3.13 3.13.8-1 (source) into unstable (Matthias Klose)
  • [2025-08-28] python3.13 3.13.7-1 MIGRATED to testing (Debian testing watch)
  • [2025-08-21] Accepted python3.13 3.13.7-1 (source) into unstable (Stefano Rivera)
  • [2025-08-18] python3.13 3.13.6-1 MIGRATED to testing (Debian testing watch)
  • [2025-08-10] Accepted python3.13 3.13.6-1 (source) into unstable (Stefano Rivera)
  • [2025-07-11] python3.13 3.13.5-2 MIGRATED to testing (Debian testing watch)
  • [2025-06-26] Accepted python3.13 3.13.5-2 (source) into unstable (Stefano Rivera)
  • [2025-06-12] Accepted python3.13 3.13.5-1 (source) into unstable (Stefano Rivera)
  • [2025-06-03] Accepted python3.13 3.13.4-1 (source) into unstable (Matthias Klose)
  • [2025-05-21] Accepted python3.13 3.13.3-4 (source) into unstable (Matthias Klose)
  • [2025-05-20] Accepted python3.13 3.13.3-3 (source) into unstable (Matthias Klose)
  • [2025-04-22] python3.13 3.13.3-2 MIGRATED to testing (Debian testing watch)
  • [2025-04-11] Accepted python3.13 3.13.3-2 (source) into unstable (Stefano Rivera)
  • [2025-04-09] Accepted python3.13 3.13.3-1 (source) into unstable (Stefano Rivera)
  • [2025-04-04] python3.13 3.13.2-3 MIGRATED to testing (Debian testing watch)
  • [2025-03-29] Accepted python3.13 3.13.2-3 (source) into unstable (Matthias Klose)
  • [2025-03-19] python3.13 3.13.2-2 MIGRATED to testing (Debian testing watch)
  • [2025-03-13] Accepted python3.13 3.13.2-2 (source) into unstable (Matthias Klose)
  • [2025-02-11] python3.13 3.13.2-1 MIGRATED to testing (Debian testing watch)
  • [2025-02-05] Accepted python3.13 3.13.2-1 (source) into unstable (Stefano Rivera)
  • [2025-01-14] python3.13 3.13.1-3 MIGRATED to testing (Debian testing watch)
  • [2025-01-03] Accepted python3.13 3.13.1-3 (source) into unstable (Matthias Klose)
  • [2024-12-14] python3.13 3.13.1-2 MIGRATED to testing (Debian testing watch)
  • 1
  • 2
bugs [bug history graph]
  • all: 14
  • RC: 0
  • I&N: 11
  • M&W: 3
  • F&P: 0
  • patch: 2
links
  • lintian (6, 30)
  • buildd: logs, reproducibility, cross
  • popcon
  • browse source code
  • other distros
  • security tracker
  • screenshots
  • debian patches
  • debci

Debian Package Tracker — Copyright 2013-2025 The Distro Tracker Developers
Report problems to the tracker.debian.org pseudo-package in the Debian BTS.
Documentation — Bugs — Git Repository — Contributing