p PatchFirst

PatchFirst · Latest vulnerabilities

pypy3 vulnerabilities

Vulnerability published for pypy3 in the last 30 days: 1. Listed in the KEV catalogue: 0.

Filter vulnerabilities
Clear filters

Vulnerabilities: 20

  1. CVE-2026-76875

    Medium · CVSS 6.3EPSS 0.24%No fix published

    PyPy pyexpat ExternalEntityParserCreate Use-After-Free

    PyPy before versions 3.11.16 and 3.12.14 contains a use-after-free vulnerability in the pyexpat module's ExternalEntityParserCreate function that allows attackers to corrupt memory by supplying a crafted XML document to applications that create external-entity sub-parsers without retaining a reference to the parent parser. The child parser retains a raw C back-pointer to the parent parser struct while PyPy's tracing garbage collector can free the parent's C struct, causing bundled libexpat to dereference the freed pointer on every parsed token, producing memory corruption.

    Published Updated
  2. CVE-2026-82049

    High · CVSS 8.4EPSS 0.19%No fix published

    tarfile extraction filters allow file modification and content disclosure via hard link to symlink

    In CPython 3.13 and earlier, the tarfile module's data and tar extraction filters are vulnerable to crafted archives containing a hard link to a symbolic link. Such archives may cause extraction to modify the permissions or modification time of a file outside the destination directory, or expose the contents of that file within the extracted tree.

    Published Updated
  3. CVE-2026-87910

    Medium · CVSS 5.7EPSS 0.61%No fix published

    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.

    Published Updated
  4. CVE-2026-6879

    Low · CVSS 2EPSS 0.36%No fix published

    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.

    Published Updated
  5. CVE-2026-11940

    High · CVSS 7.8EPSS 0.75%No fix published

    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.

    Published Updated
  6. CVE-2026-7774

    Medium · CVSS 6.9EPSS 0.6%No fix published

    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.

    Published Updated
  7. CVE-2026-6019

    Low · CVSS 2.1EPSS 0.21%No fix published

    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.

    Published Updated
  8. CVE-2026-4786

    High · CVSS 7EPSS 0.29%No fix published

    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.

    Published Updated
  9. CVE-2026-6100

    Critical · CVSS 9.1EPSS 0.58%No fix published

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

    Published Updated
  10. CVE-2026-3446

    Medium · CVSS 6EPSS 0.19%No fix published

    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.

    Published Updated
  11. CVE-2025-69534

    High · CVSS 7.5EPSS 0.6%No fix published

    CVE-2025-69534

    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

    Published Updated
  12. CVE-2026-1299

    Medium · CVSS 6EPSS 0.57%No fix published

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

    Published Updated
  13. CVE-2025-12781

    Medium · CVSS 6.3EPSS 0.86%No fix published

    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

    Published Updated
  14. CVE-2025-0938

    Medium · CVSS 6.3EPSS 1.56%No fix published

    URL parser allowed square brackets in domain names

    The Python standard library functions `urllib.parse.urlsplit` and `urlparse` accepted domain names that included square brackets which isn't valid according to RFC 3986. Square brackets are only meant to be used as delimiters for specifying IPv6 and IPvFuture hosts in URLs. This could result in differential parsing across the Python URL parser and other specification-compliant URL parsers.

    Published Updated

Check your server

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

Check your server →