Debian Package Tracker
Register | Log in
Subscribe

python3.9

Choose email to subscribe with

general
  • source: python3.9 (main)
  • version: 3.9.2-1+deb11u7
  • maintainer: Matthias Klose (DMD)
  • arch: all any
  • std-ver: 4.5.1
  • VCS: Git (Browse)
versions [more versions can be listed by madison] [old versions available from snapshot.debian.org]
[pool directory]
  • o-o-stable: 3.9.2-1
  • o-o-sec: 3.9.2-1+deb11u7
versioned links
  • 3.9.2-1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 3.9.2-1+deb11u7: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
binaries
  • idle-python3.9
  • libpython3.9
  • libpython3.9-dbg
  • libpython3.9-dev
  • libpython3.9-minimal
  • libpython3.9-stdlib
  • libpython3.9-testsuite
  • python3.9
  • python3.9-dbg
  • python3.9-dev
  • python3.9-doc
  • python3.9-examples
  • python3.9-full
  • python3.9-minimal
  • python3.9-venv
package is gone
This package is not in any development repository. This probably means that the package has been removed (or has been renamed). Thus the information here is of little interest ... the package is going to disappear unless someone takes it over and reintroduces it.
action needed
Debci reports failed tests high
  • unstable: fail (log)
    The tests ran in 0:04:12
    Last run: 2023-01-06T06:22:11.000Z
    Previous status: unknown

  • testing: pass (log)
    The tests ran in 0:48:39
    Last run: 2022-08-10T23:38:30.000Z
    Previous status: unknown

  • stable: fail (log)
    The tests ran in 0:43:22
    Last run: 2023-06-09T17:09:11.000Z
    Previous status: unknown

Created: 2023-06-13 Last update: 2026-08-24 21:30
20 security issues in bullseye high

There are 20 open security issues in bullseye.

3 important issues:
  • CVE-2026-15806: The HTTPPasswordMgr class in the urllib.request module, along with its subclasses HTTPPasswordMgrWithDefaultRealm and HTTPPasswordMgrWithPriorAuth, did not take the URL scheme into account when matching stored credentials against a requested URL. Credentials added for an https:// URL were also used for requests to the same host over http://, so an attacker able to redirect or downgrade a client to plain HTTP (for example, via an HTTPS-to-HTTP redirect or an on-path position) could capture credentials in cleartext. Credentials added for http:// URLs could likewise be sent over https://. Credential matching is now scoped by URL scheme. Credentials registered with a URL that includes a scheme are only used for requests with the same scheme. Credentials registered with a bare authority (such as example.com or example.com:8080) continue to match any scheme, preserving compatibility with existing code, including proxy authentication. Users who cannot upgrade immediately can mitigate by ensuring that applications never make plain http:// requests to hosts for which credentials are registered, for example by not following redirects to http:// URLs.
  • CVE-2026-17084: The "stringprep" module didn't process characters from RFC 3454 tables B.2 or B.3 correctly: the latest Unicode codepoint attributes were used instead of the specified Unicode 3.2.0. This behavior would cause mismatches when processing domain names using IDNA 2003 (the "idna" codec) and the in_table_b2() function of the "stringprep" module. This only affects domain names containing characters that were not previously registered or had their Unicode attributes such as case-folding behavior updated since Unicode 3.2.0.
  • CVE-2026-18503: Attacker-controlled CSV samples can trigger super-linear regular-expression work during dialect sniffing and consume significant CPU when applications pass unbounded input to csv.Sniffer.sniff().
12 issues postponed or untriaged:
  • CVE-2026-0864: (postponed; to be fixed through a stable update) When using the "configparser" module to write configuration files containing multi-line text values with carriage return characters (\r) the resulting file could be injected with unexpected keys and values if the attacker controls the written value.
  • CVE-2026-1502: (postponed; to be fixed through a stable update) CR/LF bytes were not rejected by HTTP client proxy tunnel headers or host.
  • CVE-2026-3276: (postponed; to be fixed through a stable update) unicodedata.normalize() can take excessive CPU time when processing specially crafted Unicode input containing long runs of combining characters with alternating Canonical Combining Class values. This affects all normalization forms.
  • CVE-2026-6019: (postponed; to be fixed through a stable update) 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-6879: (postponed; to be fixed through a stable update) `Element.findall()` and fully-consumed `Element.iterfind()` exhibit `O(n^2)` time complexity when using XPath index predicates (e.g. `[1]`, `[last()]`, `[last()-N]`) on XML documents with many same-tag siblings. `Element.find()` is only affected when the first match is near the end  of the sibling list, such as with `[last()]` or `[last()-N]`;  `.//item[1]` short-circuits after the first match.
  • CVE-2026-7210: (postponed; to be fixed through a stable update) `xml.parsers.expat` and `xml.etree.ElementTree` use insufficient entropy for Expat hash-flooding protection, which allows a crafted XML document to trigger hash flooding.\r\n\r\nFully mitigating this vulnerability requires both updating libexpat to 2.8.0 or later and applying this patch.
  • CVE-2026-8328: (postponed; to be fixed through a stable update) The ftpcp() function in Lib/ftplib.py was not updated when CVE-2021-4189 was fixed. While makepasv() was patched to replace server-supplied PASV host addresses with the actual peer address (getpeername()[0]), ftpcp() still calls parse227() directly and passes the raw attacker-controllable IP address and port to target.sendport(). This patch is related to CVE-2021-4189.
  • CVE-2026-9669: (postponed; to be fixed through a stable update) 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.
  • CVE-2025-69534: (postponed; to be fixed through a stable update) Python-Markdown version 3.8 contain a vulnerability where malformed HTML-like sequences can cause html.parser.HTMLParser to raise an unhandled AssertionError during Markdown parsing. Because Python-Markdown does not catch this exception, any application that processes attacker-controlled Markdown may crash. This enables remote, unauthenticated Denial of Service in web applications, documentation systems, CI/CD pipelines, and any service that renders untrusted Markdown. The issue was acknowledged by the vendor and fixed in version 3.8.1. This issue causes a remote Denial of Service in any application parsing untrusted Markdown, and can lead to Information Disclosure through uncaught exceptions.
  • CVE-2026-11940: (postponed; to be fixed through a stable update) 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.
  • CVE-2026-11972: (postponed; to be fixed through a stable update) 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.
  • CVE-2026-15308: (postponed; to be fixed through a stable update) The incremental HTML parser (html.parser.HTMLParser) allows for CPU denial-of-service through repeated unterminated markup declarations when processing uncontrolled data.
5 ignored issues:
  • CVE-2024-5642: CPython 3.9 and earlier doesn't disallow configuring an empty list ("[]") for SSLContext.set_npn_protocols() which is an invalid value for the underlying OpenSSL API. This results in a buffer over-read when NPN is used (see CVE-2024-5535 for OpenSSL). This vulnerability is of low severity due to NPN being not widely used and specifying an empty list likely being uncommon in-practice (typically a protocol name would be configured).
  • 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-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.
Created: 2026-08-18 Last update: 2026-08-19 11:00
4 security issues in sid high

There are 4 open security issues in sid.

4 important issues:
  • CVE-2015-20107: In Python (aka CPython) up to 3.10.8, the mailcap module does not add escape characters into commands discovered in the system mailcap file. This may allow attackers to inject shell commands into applications that call mailcap.findmatch with untrusted input (if they lack validation of user-provided filenames or arguments). The fix is also back-ported to 3.7, 3.8, 3.9
  • CVE-2020-10735: A flaw was found in python. In algorithms with quadratic time complexity using non-binary bases, when using int("text"), a system could take 50ms to parse an int string with 100,000 digits and 5s for 1,000,000 digits (float, decimal, int.from_bytes(), and int() for binary bases 2, 4, 8, 16, and 32 are not affected). The highest threat from this vulnerability is to system availability.
  • CVE-2022-42919: Python 3.9.x and 3.10.x through 3.10.8 on Linux allows local privilege escalation in a non-default configuration. The Python multiprocessing library, when used with the forkserver start method on Linux, allows pickles to be deserialized from any user in the same machine local network namespace, which in many system configurations means any user on the same machine. Pickles can execute arbitrary code. Thus, this allows for local user privilege escalation to the user that any forkserver process is running as. Setting multiprocessing.util.abstract_sockets_supported to False is a workaround. The forkserver start method for multiprocessing is not the default start method. This issue is Linux specific because only Linux supports abstract namespace sockets. CPython before 3.9 does not make use of Linux abstract namespace sockets by default. Support for users manually specifying an abstract namespace socket was added as a bugfix in 3.7.8 and 3.8.3, but users would need to make specific uncommon API calls in order to do that in CPython before 3.9.
  • CVE-2022-45061: An issue was discovered in Python before 3.11.1. An unnecessary quadratic algorithm exists in one path when processing some inputs to the IDNA (RFC 3490) decoder, such that a crafted, unreasonably long name being presented to the decoder could lead to a CPU denial of service. Hostnames are often supplied by remote servers that could be controlled by a malicious actor; in such a scenario, they could trigger excessive CPU consumption on the client attempting to make use of an attacker-supplied supposed hostname. For example, the attack payload could be placed in the Location header of an HTTP response with status code 302. A fix is planned in 3.11.1, 3.10.9, 3.9.16, 3.8.16, and 3.7.16.
Created: 2022-07-04 Last update: 2022-12-16 16:00
1 security issue in bookworm high

There is 1 open security issue in bookworm.

1 important issue:
  • CVE-2015-20107: In Python (aka CPython) through 3.10.4, the mailcap module does not add escape characters into commands discovered in the system mailcap file. This may allow attackers to inject shell commands into applications that call mailcap.findmatch with untrusted input (if they lack validation of user-provided filenames or arguments).
Created: 2022-07-04 Last update: 2022-08-01 13:40
news
[rss feed]
  • [2026-05-15] Accepted python3.9 3.9.2-1+deb11u7 (source) into oldoldstable-security (Arnaud Rebillout)
  • [2026-04-15] Accepted python3.9 3.9.2-1+deb11u6 (source) into oldoldstable-security (Arnaud Rebillout)
  • [2026-01-25] Accepted python3.9 3.9.2-1+deb11u5 (source) into oldoldstable-security (Andrej Shadura) (signed by: Andrew Shadura)
  • [2026-01-20] Accepted python3.9 3.9.2-1+deb11u4 (source) into oldoldstable-security (Andrej Shadura) (signed by: Andrew Shadura)
  • [2025-03-20] Accepted python3.9 3.9.2-1+deb11u3 (source) into oldstable-security (Sean Whitton)
  • [2024-12-01] Accepted python3.9 3.9.2-1+deb11u2 (source) into oldstable-security (Adrian Bunk)
  • [2024-11-30] Accepted python3.9 3.9.2-1+deb11u1 (source) into oldstable-security (Adrian Bunk)
  • [2023-01-10] Removed 3.9.13-1 from unstable (Debian FTP Masters)
  • [2022-08-17] python3.9 REMOVED from testing (Debian testing watch)
  • [2022-06-11] python3.9 3.9.13-1 MIGRATED to testing (Debian testing watch)
  • [2022-06-08] Accepted python3.9 3.9.13-1 (source) into unstable (Matthias Klose)
  • [2022-03-27] python3.9 3.9.12-1 MIGRATED to testing (Debian testing watch)
  • [2022-03-24] Accepted python3.9 3.9.12-1 (source) into unstable (Matthias Klose)
  • [2022-03-22] python3.9 3.9.11-1 MIGRATED to testing (Debian testing watch)
  • [2022-03-17] Accepted python3.9 3.9.11-1 (source) into unstable (Matthias Klose)
  • [2022-02-25] python3.9 3.9.10-2 MIGRATED to testing (Debian testing watch)
  • [2022-02-22] Accepted python3.9 3.9.10-2 (source) into unstable (Matthias Klose)
  • [2022-01-23] python3.9 3.9.10-1 MIGRATED to testing (Debian testing watch)
  • [2022-01-16] Accepted python3.9 3.9.10-1 (source) into unstable (Matthias Klose)
  • [2022-01-15] python3.9 3.9.9-4 MIGRATED to testing (Debian testing watch)
  • [2022-01-12] Accepted python3.9 3.9.9-4 (source) into unstable (Matthias Klose)
  • [2022-01-12] python3.9 3.9.9-3 MIGRATED to testing (Debian testing watch)
  • [2022-01-10] Accepted python3.9 3.9.9-3 (source) into unstable (Matthias Klose)
  • [2021-12-20] python3.9 3.9.9-2 MIGRATED to testing (Debian testing watch)
  • [2021-12-16] Accepted python3.9 3.9.9-2 (source) into unstable (Matthias Klose)
  • [2021-11-20] python3.9 3.9.9-1 MIGRATED to testing (Debian testing watch)
  • [2021-11-16] Accepted python3.9 3.9.9-1 (source) into unstable (Matthias Klose)
  • [2021-11-11] Accepted python3.9 3.9.8-2 (source) into unstable (Matthias Klose)
  • [2021-11-10] python3.9 3.9.8-1 MIGRATED to testing (Debian testing watch)
  • [2021-11-07] Accepted python3.9 3.9.8-1 (source) into unstable (Matthias Klose)
  • 1
  • 2
bugs [bug history graph]
  • all: 0
links
  • buildd: logs, cross
  • popcon
  • security tracker
  • 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