apk package
chainguard/python-3.14
pkg:apk/chainguard/python-3.14
Vulnerabilities (26)
| CVE | Sev | CVSS | KEV | Affected versions | Fixed in | Published | Description |
|---|---|---|---|---|---|---|---|
| CVE-2026-9669 | Hig | — | < 3.14.6-r1 | 3.14.6-r1 | Jun 8, 2026 | 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 | |
| CVE-2026-7774 | Med | — | < 3.14.6-r1 | 3.14.6-r1 | Jun 4, 2026 | tarfile.data_filter could be bypassed using crafted link entries, including symlinks with empty or directory-like names, to redirect later archive members outside the intended extraction directory. This allowed a malicious tar archive to cause tarfile.extractall() to write files | |
| CVE-2026-3276 | Med | — | < 3.14.6-r0 | 3.14.6-r0 | Jun 3, 2026 | 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-8328 | Med | — | < 3.14.5-r1 | 3.14.5-r1 | May 13, 2026 | 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 | |
| CVE-2026-7210 | Hig | 7.5 | < 3.14.6-r1 | 3.14.6-r1 | May 11, 2026 | `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 thi | |
| CVE-2026-6019 | Med | 6.1 | < 3.14.4-r4 | 3.14.4-r4 | Apr 22, 2026 | http.cookies.Morsel.js_output() returns an inline inside the generated script element. Mitigation base64-encodes the cookie value to disallow esc | |
| CVE-2026-3298 | Hig | — | < 0 | 0 | Apr 21, 2026 | 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 affe | |
| CVE-2026-4786 | Hig | — | < 3.14.4-r3 | 3.14.4-r3 | Apr 13, 2026 | 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-6100 | Cri | — | < 3.14.4-r3 | 3.14.4-r3 | Apr 13, 2026 | 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 | |
| CVE-2026-1502 | Med | — | < 3.14.4-r3 | 3.14.4-r3 | Apr 10, 2026 | CR/LF bytes were not rejected by HTTP client proxy tunnel headers or host. | |
| CVE-2026-4519 | Low | 3.3 | < 3.14.3-r5 | 3.14.3-r5 | Mar 20, 2026 | 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-3479 | Non | — | < 3.14.4-r0 | 3.14.4-r0 | Mar 18, 2026 | 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 mode | |
| CVE-2026-4224 | Hig | 7.5 | < 3.14.3-r6 | 3.14.3-r6 | Mar 16, 2026 | 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-3644 | Hig | 7.5 | < 3.14.3-r6 | 3.14.3-r6 | Mar 16, 2026 | 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 ou | |
| CVE-2025-13462 | Low | 3.3 | < 3.14.4-r0 | 3.14.4-r0 | Mar 12, 2026 | 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 ot | |
| CVE-2026-2297 | Med | — | < 3.14.3-r3 | 3.14.3-r3 | Mar 4, 2026 | 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-1299 | Med | — | < 3.14.3-r1 | 3.14.3-r1 | Jan 23, 2026 | 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 | |
| CVE-2025-12781 | — | < 3.14.6-r1 | 3.14.6-r1 | Jan 21, 2026 | 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 | ||
| CVE-2026-0865 | Med | — | < 3.14.3-r1 | 3.14.3-r1 | Jan 20, 2026 | User-controlled header names and values containing newlines can allow injecting HTTP headers. | |
| CVE-2026-0672 | Med | — | < 3.14.3-r1 | 3.14.3-r1 | Jan 20, 2026 | 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. |
- affected < 3.14.6-r1fixed 3.14.6-r1
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
- affected < 3.14.6-r1fixed 3.14.6-r1
tarfile.data_filter could be bypassed using crafted link entries, including symlinks with empty or directory-like names, to redirect later archive members outside the intended extraction directory. This allowed a malicious tar archive to cause tarfile.extractall() to write files
- affected < 3.14.6-r0fixed 3.14.6-r0
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.
- affected < 3.14.5-r1fixed 3.14.5-r1
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
- affected < 3.14.6-r1fixed 3.14.6-r1
`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 thi
- affected < 3.14.4-r4fixed 3.14.4-r4
http.cookies.Morsel.js_output() returns an inline inside the generated script element. Mitigation base64-encodes the cookie value to disallow esc
- affected < 0fixed 0
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 affe
- affected < 3.14.4-r3fixed 3.14.4-r3
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.
- affected < 3.14.4-r3fixed 3.14.4-r3
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
- affected < 3.14.4-r3fixed 3.14.4-r3
CR/LF bytes were not rejected by HTTP client proxy tunnel headers or host.
- affected < 3.14.3-r5fixed 3.14.3-r5
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().
- affected < 3.14.4-r0fixed 3.14.4-r0
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 mode
- affected < 3.14.3-r6fixed 3.14.3-r6
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.
- affected < 3.14.3-r6fixed 3.14.3-r6
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 ou
- affected < 3.14.4-r0fixed 3.14.4-r0
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 ot
- affected < 3.14.3-r3fixed 3.14.3-r3
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.
- affected < 3.14.3-r1fixed 3.14.3-r1
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
- CVE-2025-12781Jan 21, 2026affected < 3.14.6-r1fixed 3.14.6-r1
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
- affected < 3.14.3-r1fixed 3.14.3-r1
User-controlled header names and values containing newlines can allow injecting HTTP headers.
- affected < 3.14.3-r1fixed 3.14.3-r1
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.
Page 1 of 2