Skip to content
OpenAdvisories

Package · Debian

pypy3

79 known vulnerabilities.

79 results · Feed

  • Medium 6.9

    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.extracta…

  • High 7.6
    CVE-2026-19553 Public exploit

    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 si…

  • Critical 9.2
    CVE-2026-19445 Public exploit

    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 …

  • Medium 5.9
    CVE-2026-12345 Public exploit

    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 permiss…

  • Medium 5.3

    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-entit…

  • High 8.4

    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…

  • Medium 5.7

    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 …

  • Medium 6.0

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

  • Medium 6.0

    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…

  • Low 2.4

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

  • Low 2.0

    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 firs…

  • Low 2.0

    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='…

  • High 8.2

    tarfile opened in streaming mode mishandles EOF

    When using the "tarfile" module with a file opened in "streaming mode" (mode="r|") the tarfile module did not properly handle EOF, making archive parsing take exponentially longer.

  • Medium 4.1

    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.

  • High 7.8

    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 re…

  • Medium 6.9

    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.extract…

  • Medium 5.9

    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…

  • Low 2.1

    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 …

  • High 7.0

    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.

  • Medium 5.7

    HTTP client proxy tunnel headers not validated for CR/LF

    CR/LF bytes were not rejected by HTTP client proxy tunnel headers or host.

  • High 7.0

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

  • None 0.0

    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 i…

  • High 7.5

    Python-Markdown version 3.8 contain a vulnerability where malformed HTML-like sequences can cause html.parser.HTMLParse…

  • Medium 5.7

    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.

  • Medium 6.0

    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 h…

  • Medium 6.3

    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 base…

  • Medium 6.0

    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.

  • Medium 5.9

    POP3 command injection in user-controlled commands

    The poplib module, when passed a user-controlled command, can have additional commands injected using newlines. Mitigation rejects commands containing control characters.

  • Medium 5.9

    IMAP command injection in user-controlled commands

    The imaplib module, when passed a user-controlled command, can have additional commands injected using newlines. Mitigation rejects commands containing control characters.

  • Medium 6.0

    Header injection via newlines in data URL mediatype

    User-controlled data URLs parsed by urllib.request.DataHandler allow injecting headers through newlines in the data URL mediatype.

  • Medium 5.9

    wsgiref.headers.Headers allows header newline injection

    User-controlled header names and values containing newlines can allow injecting HTTP headers.

  • Medium 5.7

    Folding email comments of unfoldable characters doesn't preserve parenthesis

    When folding a long comment in an email header containing exclusively unfoldable characters, the parenthesis would not be preserved. This could be used for injecting headers into email messages where addresses are user-controlled and not sanitized.

  • Medium 6.3

    Quadratic complexity in node ID cache clearing

    When building nested elements using xml.dom.minidom methods such as appendChild() that have a dependency on _clear_id_cache() the algorithm is quadratic. Availability can be impacted when building excessively nested documents.

  • Low 2.1

    Out-of-memory when loading Plist

    When loading a plist file, the plistlib module reads data in size specified by the file itself, meaning a malicious file can cause OOM and DoS issues

  • Medium 6.3

    Excessive read buffering DoS in http.client

    When reading an HTTP response from a server, if no read amount is specified, the default behavior will be to use Content-Length. This allows a malicious server to cause the client to read large amounts of data into memory, potentially causing OOM or other DoS.

  • Low 1.8

    Quadratic complexity in os.path.expandvars() with user-controlled template

    If the value passed to os.path.expandvars() is user-controlled a performance degradation is possible when expanding environment variables.

  • Medium 4.3

    ZIP64 End of Central Directory (EOCD) Locator record offset not checked

    The 'zipfile' module would not check the validity of the ZIP64 End of Central Directory (EOCD) Locator record offset value would not be used to locate the ZIP64 EOCD record, instead the ZIP64 EOCD record would be assumed to be the previous record in the ZIP a…

  • High 7.5

    Tarfile infinite loop during parsing with negative member offset

    There is a defect in the CPython “tarfile” module affecting the “TarFile” extraction and entry enumeration APIs. The tar implementation would process tar archives with negative offsets without error, resulting in an infinite loop and deadlock during the parsi…

  • Medium 4.3

    HTMLParser quadratic complexity when processing malformed inputs

    The html.parser.HTMLParser class had worse-case quadratic complexity when processing certain crafted malformed inputs potentially leading to amplified denial-of-service.

  • Medium 5.3

    Bypass extraction filter to modify file metadata outside extraction directory

    Allows modifying some file metadata (e.g. last modified) with filter="data" or file permissions (chmod) with filter="tar" of files outside the extraction directory. You are affected by this vulnerability if using the tarfile module to extract untrusted tar ar…