p PatchFirst

PatchFirst · Latest vulnerabilities

python vulnerabilities · Page 2

Vulnerabilities published for python in the last 30 days: 4. Listed in the KEV catalogue: 0.

RSS ↗
Filter vulnerabilities
Clear filters

Vulnerabilities: 76

  1. CVE-2026-3276

    Medium · CVSS 6.3EPSS 0.49%Fix available

    Potential DoS via quadratic complexity in unicodedata.normalize()

    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.

    • Update to 3.10.21
    • Update to 3.11.16
    • Update to 3.12.14
    • Update to 3.13.14
    • Update to 3.14.6
    Published Updated
  2. CVE-2026-8328

    Medium · CVSS 5.9EPSS 0.46%Fix available

    FTP PASV SSRF, ftpcp() does not use actual peer address, trusts server-supplied PASV host address

    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.

    • Update to 3.10.21
    • Update to 3.11.16
    • Update to 3.12.14
    • Update to 3.13.14
    • Update to 3.14.6
    Published Updated
  3. CVE-2026-7210

    Medium · CVSS 6.3EPSS 0.67%Fix available

    The expat and elementtree parsers use insufficient entropy for XML hash-flooding protection

    `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.

    • Update to 3.10.22
    • Update to 3.11.16
    • Update to 3.12.14
    • Update to 3.13.14
    • Update to 3.14.6
    Published Updated
  4. CVE-2026-3087

    Medium · CVSS 6EPSS 0.73%Fix available

    shutil.unpack_archive() doesn't check for Windows absolute paths in ZIPs

    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.

    • Update to 3.10.21
    • Update to 3.11.16
    • Update to 3.12.14
    • Update to 3.13.14
    • Update to 3.14.5rc1
    Published Updated
  5. CVE-2026-6019

    Low · CVSS 2.1EPSS 0.21%Fix available

    BaseCookie.js_output() does not neutralize embedded characters

    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.

    • Update to 3.13.14
    • Update to 3.14.5rc1
    Published Updated
  6. CVE-2026-3298

    High · CVSS 8.8EPSS 0.6%Fix available

    Out-of-bounds write in Windows asyncio.ProacterEventLoop.sock_recvfrom_into() when using nbytes

    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.

    • Update to 3.11.16
    • Update to 3.12.14
    • Update to 3.13.14
    • Update to 3.14.5rc1
    Published Updated
  7. CVE-2026-5713

    Medium · CVSS 5.3EPSS 0.15%Fix available

    Out-of-bounds read/write during remote profiling and asyncio process introspection when connecting to malicious target

    The "profiling.sampling" module (Python 3.15+) and "asyncio introspection capabilities" (3.14+, "python -m asyncio ps" and "python -m asyncio pstree") features could be used to read and write addresses in a privileged process if that process connected to a malicious or "infected" Python process via the remote debugging feature. This vulnerability requires persistently and repeatedly connecting to the process to be exploited, even after the connecting process crashes with high likelihood due to ASLR.

    • Update to 3.14.5
    Published Updated
  8. CVE-2026-4786

    High · CVSS 7EPSS 0.29%Fix available

    Incomplete mitigation of CVE-2026-4519, %action expansion for command injection to webbrowser.open()

    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.

    • Update to 3.10.21
    • Update to 3.11.16
    • Update to 3.12.14
    • Update to 3.13.14
    • Update to 3.14.5rc1
    Published Updated
  9. CVE-2026-6100

    Critical · CVSS 9.1EPSS 0.76%Fix available

    Use-after-free in lzma.LZMADecompressor, bz2.BZ2Decompressor, and gzip.GzipFile after re-use under memory pressure

    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()`,

    • Update to 3.10.21
    • Update to 3.11.16
    • Update to 3.12.14
    • Update to 3.13.14
    • Update to 3.14.5rc1
    Published Updated
  10. CVE-2026-3446

    Medium · CVSS 6EPSS 0.19%Fix available

    Base64 decoding stops at first padded quad by default

    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.

    • Update to 3.13.13
    • Update to 3.14.4
    Published Updated
  11. CVE-2026-4519

    High · CVSS 7EPSS 0.31%Fix available

    webbrowser.open() allows leading dashes in URLs

    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().

    • Update to 3.10.21
    • Update to 3.11.16
    • Update to 3.12.14
    • Update to 3.13.13
    • Update to 3.14.4
    Published Updated
  12. CVE-2026-3479

    Low · CVSS 0EPSS 0.25%Fix available

    pkgutil.get_data() does not enforce documented restrictions

    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.

    • Update to 3.13.13
    • Update to 3.14.4
    Published Updated
  13. CVE-2026-4224

    Medium · CVSS 6EPSS 0.7%Fix available

    Stack overflow parsing XML with deeply nested DTD content models

    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.

    • Update to 3.10.21
    • Update to 3.11.16
    • Update to 3.12.14
    • Update to 3.13.13
    • Update to 3.14.4
    Published Updated
  14. CVE-2026-3644

    Medium · CVSS 6EPSS 0.5%Fix available

    Incomplete control character validation in http.cookies

    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().

    • Update to 3.10.21
    • Update to 3.11.16
    • Update to 3.12.14
    • Update to 3.13.13
    • Update to 3.14.4
    Published Updated
  15. CVE-2025-13462

    Low · CVSS 2EPSS 0.17%Fix available

    tarfile: Skip DIRTYPE normalization during GNU LONGNAME/LONGLINK handling

    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.

    • Update to 3.10.21
    • Update to 3.11.16
    • Update to 3.12.14
    • Update to 3.13.13
    • Update to 3.14.4
    Published Updated
  16. CVE-2026-2297

    Medium · CVSS 5.7EPSS 0.21%Fix available

    SourcelessFileLoader does not use io.open_code()

    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.

    • Update to 3.10.21
    • Update to 3.11.16
    • Update to 3.12.14
    • Update to 3.13.13
    • Update to 3.14.4
    Published Updated
  17. CVE-2026-1299

    Medium · CVSS 6EPSS 0.57%Fix available

    email BytesGenerator header injection due to unquoted newlines

    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".

    • Update to 3.10.20
    • Update to 3.11.15
    • Update to 3.12.13
    • Update to 3.13.12
    • Update to 3.14.3
    Published Updated
  18. CVE-2025-12781

    Medium · CVSS 6.3EPSS 0.56%Fix available

    base64.b64decode() always accepts "+/" characters, despite setting altchars

    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 (w

    • Update to 3.13.10
    • Update to 3.14.1
    Published Updated
  19. CVE-2026-0672

    Medium · CVSS 6EPSS 0.48%Fix available

    Header injection in http.cookies.Morsel

    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.

    • Update to 3.10.20
    • Update to 3.11.15
    • Update to 3.12.13
    • Update to 3.13.12
    • Update to 3.14.3
    Published Updated

Check your server

Check your installed stack and versions against the current vulnerability feeds.

Check your server →