p PatchFirst

PatchFirst · Latest vulnerabilities

python 3.14.5: known vulnerabilities

Known vulnerabilities affecting python 3.14.5: 25. Compare the fixes below with your installed release.

RSS ↗
Filter vulnerabilities
Clear filters

Vulnerabilities: 25

  1. CVE-2026-114583

    Medium · CVSS 6.9EPSS 0.21%Fix available

    tar filter allows writing outside destination via empty-named symlink

    tarfile.tar_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() with filter="tar" to write files outside the destination directory, subject to the permissions of the extracting process. This is the tarfile.tar_filter counterpart of CVE-2026-7774, which covered tarfile.data_filter.

    • Update to 3.16.0
    Published Updated
  2. CVE-2026-19553

    High · CVSS 7.6EPSS 0.4%Public exploitFix available

    SSLContext.wrap_bio() missing validation of server_hostname parameter

    ssl.SSLContext.wrap_bio() didn't require the server_hostname argument to not be None if ssl.SSLContext.check_hostname was set. Due to a missing parameter check in SSLObject, if the server_hostname argument isn't supplied then hostname verification would be silently skipped. This defect could lead to programs where certificate hostname verification *appeared* to be succeeding with SSLContext.check_hostname = True and no ValueError being raised due to misconfiguration. If the program passes a server_hostname value that isn't an empty string or None to any of these APIs then certificate hostname verification proceeds as expected and the prog

    • Update to 3.14.8
    Published Updated
  3. CVE-2026-19445

    Critical · CVSS 9.2EPSS 0.43%Public exploitFix available

    Use-after-free of a server-side SSLContext when sni_callback switches contexts

    A remote, unauthenticated TLS client can make a server crash or call through a freed pointer if its sni_callback assigns a different context to SSLSocket.context (the documented way to select a certificate per server name) and nothing else keeps the original ssl.SSLContext alive. Typical cases are servers that create an SSLContext per connection or replace it while connections are open; servers that wrap their listening socket with it are not affected. Mitigation: keep a reference to every SSLContext that sets sni_callback for the lifetime of the server. TLS clients are not affected.

    • Update to 3.14.8
    Published Updated
  4. CVE-2026-12345

    Medium · CVSS 5.9EPSS 0.18%Fix available

    Race condition in tempfile.TemporaryDirectory cleanup allows deleting files outside the temporary directory

    The cleanup of tempfile.TemporaryDirectory is vulnerable to a race condition. An attacker who can modify the tree during cleanup can replace a directory with a symbolic link, causing files outside of the temporary directory to be deleted or have their permissions and file flags reset, with the privileges of the process performing the cleanup. Note that platforms where shutil.rmtree.avoids_symlink_attacks is false, remain affected, and file flags may still be reset outside of the tree on all platforms.

    • Update to 3.14.9
    Published Updated
  5. CVE-2026-87910

    Medium · CVSS 5.7EPSS 0.5%Fix available

    tarfile hardlink fallback ignores custom extraction filter rejection via None

    When tarfile extracts a link on a system that doesn't support links, it falls back to extracting a member from the archive. In this case, the filter function is run twice: once for the extracted member, and once with name set to the location of the link. For one of the calls, the return value was ignored. Instead, the member should be skipped if either call returns None.

    • Update to 3.14.9
    Published Updated
  6. CVE-2026-15310

    Low · CVSS 2.1EPSS 0.53%Fix available

    zipfile: bzip2/LZMA/Zstandard members decompress without a max_length bound, defeating chunked-read memory limits

    When decompressing crafted zip files using the bzip/LZMA/Zstandard compressions, Python could use an attacker-controlled size to pre-allocate memory, possibly resulting in memory exhaustion.

    • Update to 3.14.8
    Published Updated
  7. CVE-2026-19672

    Medium · CVSS 6.3EPSS 0.47%Fix available

    tarfile extraction filter bypass allows creation of directories outside the destination

    The tarfile module's tar and data extraction filters created directories outside the destination for members whose name leaves the destination and returns to it, such as ../evil/../dest/sub/file. The containment check used the resolved path, but intermediate directories were created from the name as given. Only empty directories are created outside the destination. Member contents are still extracted inside it. To return to the destination the member's name must contain the destination directory's own final component, so extraction into a secure randomised directory is not affected. This affects POSIX platforms only. On Windows, .. co

    • Update to 3.16.0
    Published Updated
  8. CVE-2026-15806

    Medium · CVSS 6.0EPSS 0.53%Fix available

    `HTTPPasswordMgr` can send saved HTTPS credentials via HTTP because of incorrect scheme matching

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

    • Update to 3.14.8
    Published Updated
  9. CVE-2026-17084

    Medium · CVSS 6.0EPSS 0.73%Fix available

    stringprep.map_table_b2() deviates from RFC 3454 Table B.2

    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.

    • Update to 3.14.8
    Published Updated
  10. CVE-2026-18503

    Low · CVSS 2.4EPSS 0.12%Fix available

    Super-linear CPU usage for unbounded input to csv.Sniffer.sniff()

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

    • Update to 3.14.7
    Published Updated
  11. CVE-2026-6879

    Low · CVSS 2.0EPSS 0.37%Fix available

    Quadratic Behavior in xml.etree.ElementPath Index Predicates

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

    • Update to 3.14.7
    Published Updated
  12. CVE-2026-15308

    High · CVSS 8.7EPSS 0.64%Fix available

    Incremental HTMLParser feed() allows CPU-exhaustion DoS via repeated unterminated markup declarations

    The incremental HTML parser (html.parser.HTMLParser) allows for CPU denial-of-service through repeated unterminated markup declarations when processing uncontrolled data.

    • Update to 3.14.7
    Published Updated
  13. CVE-2026-4360

    Low · CVSS 2.0EPSS 0.48%Fix available

    Tarfile.extract() doesn't fully respect filter parameter

    In the Tarfile.extract() function, the filter parameter is not passed properly when extracting hardlinks. An affected system that extracts content from untrusted tar files could end up writing files with an unexpected uid/gid despite the user passing filter='data' to the extract() function.

    • Update to 3.14.7
    Published Updated
  14. CVE-2026-0864

    Medium · CVSS 4.1EPSS 0.13%Fix available

    Configuration Injection via Carriage Return (\r) in write() method

    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.

    • Update to 3.14.7
    Published Updated
  15. CVE-2026-11940

    High · CVSS 7.8EPSS 0.75%Fix available

    tarfile extraction filter bypass allows escaping the destination directory

    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.

    • Update to 3.14.7
    Published Updated
  16. CVE-2026-12003

    Medium · CVSS 5.3EPSS 0.15%Fix available

    CPython >3.11 Insecure Input Validation resulting in privilege escalation

    To allow builds of Python to be run from an in-tree layout (rather than an installed file layout), the VPATH variable is defined at build time and used to locate certain landmarks - specifically, Modules/setup.local. When this landmark is found relative to VPATH relative to the executable, Python assumes it is running in a source tree and generates a different default sys.path. This code remains in release builds, so that release-ready builds can be built in-tree. On Windows, since builds are written to 'PCbuild/', the value of VPATH is set to '..\..', which results in a landmark of '..\..\Modules\setup.local'. This path is outside the insta

    • Update to 3.14.7
    Published Updated
  17. CVE-2026-9669

    High · CVSS 8.2EPSS 0.43%Fix available

    bz2.BZ2Decompressor reuse after error can cause a stack buffer overflow

    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.

    • Update to 3.14.6
    Published Updated
  18. CVE-2026-7774

    Medium · CVSS 6.9EPSS 0.78%Fix available

    tarfile.data_filter path traversal bypass allows writing outside the extraction directory

    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 outside the destination directory, subject to the permissions of the extracting process.

    • Update to 3.14.6
    Published Updated
  19. 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.14.6
    Published Updated

Check your server

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

Check your server →