Logo
›
›component›python3
Name
python3
Version
3.12.14
Type
library
Description
The Python Programming Language
Licenses
PSF-2.0
PURL
-
CPE
cpe:2.3:*:python:python:3.12.14:*:*:*:*:*:*:*

Other Versions#


Project
Branch
Version
kirkstone
3.10.20
master
3.14.7

Patches#


#
Title
Author
Resolve
1
configure.ac: do not add a curses include path from the host
Alexander Kanavin <alex@linutronix.de>
2
python3: use cc_basename to replace CC for checking compiler
Changqing Li <changqing.li@windriver.com>
3
test_locale.py: correct the test output format
Mingli Yu <mingli.yu@windriver.com>
4
configure.ac: add CROSSPYTHONPATH into PYTHONPATH for
Ricardo Ribalda <ricardo@ribalda.com>
5
test_readline: skip limited history test
Trevor Gamblin <tgamblin@baylibre.com>
6
python3: Ensure stale empty python module directories don't
Richard Purdie <richard.purdie@linuxfoundation.org>
7
gh-107811: tarfile: treat overflow in UID/GID as failure to
Petr Viktorin <encukou@gmail.com>
8
test_deadlock: skip problematic test
Trevor Gamblin <tgamblin@baylibre.com>
9
Lib/sysconfig.py: use prefix value from build configuration
Alexander Kanavin <alex@linutronix.de>
10
[3.13] gh-149144: Use `decodeURIComponent()` for UTF-8
Stan Ulbrych <stan@python.org>
CVE-2026-6019
11
Update test_sysconfig for posix_user purelib
Wentao Zhang <wentao.zhang@windriver.com>
12
[3.13] gh-90309: Base64-encode cookie values embedded in
"Miss Islington (bot)"
CVE-2026-6019
13
python3: Fix make race
Richard Purdie <richard.purdie@linuxfoundation.org>
14
sysconfig.py: use platlibdir also for purelib
Alexander Kanavin <alex@linutronix.de>
15
Lib/pty.py: handle stdin I/O errors same way as master I/O
Alexander Kanavin <alex@linutronix.de>
16
Skip failing tests due to load variability on YP AB
Yi Fan Yu <yifan.yu@windriver.com>
17
Avoid shebang overflow on python-config.py
Paulo Neves <ptsneves@gmail.com>
18
test_storlines: skip due to load variability
Trevor Gamblin <tgamblin@baylibre.com>
19
Lib/cgi.py: Update the script as mentioned in the comment
Mark Hatle <mark.hatle@windriver.com>
20
test_shutdown: skip problematic test
Trevor Gamblin <tgamblin@baylibre.com>
21
test_ctypes.test_find: skip without tools-sdk
Tim Orling <timothy.t.orling@intel.com>
22
skip no_stdout_fileno test due to load variability
Trevor Gamblin <tgamblin@baylibre.com>
23
Makefile.pre: use qemu wrapper when gathering profile data
Alexander Kanavin <alex.kanavin@gmail.com>
24
test_active_children: skip problematic test
Trevor Gamblin <tgamblin@baylibre.com>

Vulnerabilities#


Name
Analysis
Description
Exploitable
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.
Patched
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.
Exploitable
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.
Exploitable
DISPUTED: The project has clarified that the documentation was incorrect, and that pkgutil.get_data() has the same security model as open(). The documentation has been updated to clarify this point. There is no vulnerability in the function if following the intended security model. pkgutil.get_data() did not validate the resource argument as documented, allowing path traversals.
Exploitable
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.
False Positive
If `shutil.unpack_archive()` is given a ZIP archive with an absolute Windows path containing a drive (`C:\\...`) then the archive will be extracted outside the target directory which is different than other operating systems. Only Windows is affected by this vulnerability.
Exploitable
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.
Exploitable
CR/LF bytes were not rejected by HTTP client proxy tunnel headers or host.
Exploitable
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.
Exploitable
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.
Exploitable
The poplib module, when passed a user-controlled command, can have additional commands injected using newlines. Mitigation rejects commands containing control characters.
Exploitable
The imaplib module, when passed a user-controlled command, can have additional commands injected using newlines. Mitigation rejects commands containing control characters.
Exploitable
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.
False Positive
In Python before 3.10.3 on Windows, local users can gain privileges because the search path is inadequately secured. The installer may allow a local attacker to add user-writable directories to the system search path. To exploit, an administrator must have installed Python for all users and enabled PATH entries. A non-administrative user can trigger a repair that incorrectly adds user-writable paths into PATH, enabling search-path hijacking of other users and system services. This affects Python (CPython) through 3.7.12, 3.8.x through 3.8.12, 3.9.x through 3.9.10, and 3.10.x through 3.10.2.
False Positive
In Python 3.6 through 3.6.10, 3.7 through 3.7.8, 3.8 through 3.8.4rc1, and 3.9 through 3.9.0b4 on Windows, a Trojan horse python3.dll might be used in cases where CPython is embedded in a native application. This occurs because python3X.dll may use an invalid search path for python3.dll loading (after Py_SetPath has been used). NOTE: this issue CANNOT occur when using python.exe from a standard (non-embedded) Python installation on Windows.
False Positive
An issue was discovered in urllib2 in Python 2.x through 2.7.17 and urllib in Python 3.x through 3.8.0. CRLF injection is possible if the attacker controls a url parameter, as demonstrated by the first argument to urllib.request.urlopen with \r\n (specifically in the host component of a URL) followed by an HTTP header. This is similar to the CVE-2019-9740 query string issue and the CVE-2019-9947 path string issue. (This is not exploitable when glibc has CVE-2016-10739 fixed.). This is fixed in: v2.7.18, v2.7.18rc1; v3.5.10, v3.5.10rc1; v3.6.11, v3.6.11rc1, v3.6.12; v3.7.8, v3.7.8rc1, v3.7.9; v3.8.3, v3.8.3rc1, v3.8.4, v3.8.4rc1, v3.8.5, v3.8.6, v3.8.6rc1.