p PatchFirst

PatchFirst · Latest vulnerabilities

Python stack vulnerabilities · Page 16

Vulnerabilities published for Python in the last 30 days: 343. Listed in the KEV catalogue: 1.

Filter vulnerabilities
Python

Vulnerabilities: 7072

  1. CVE-2026-103261

    Medium · CVSS 6.9EPSS 0.47%Fix available

    Tornado before 6.5.9 Denial of Service via Query String

    Tornado before 6.5.9 fails to limit the number of query string fields in HTTPServerRequest.__init__, allowing remote attackers to cause event-loop stalling by sending requests with thousands of query parameters. Attackers can send unauthenticated GET requests with unbounded query-string field counts to degrade response times for all clients sharing the same IOLoop.

    • Update to 6.5.9
    Published Updated
  2. CVE-2026-51886

    Critical · CVSS 9.8EPSS 0.6%Public exploitFix available

    CVE-2026-51886

    langflow-ai langflow v1.9.3 is affected by: Code Injection. The impact is: execute arbitrary code (remote). The component is: src/backend/base/langflow/api/v1/validate.py:validate-post_validate_code-a-real-authenticated-http-post-to-api-v1. The attack vector is: Attack surface: HTTP or browser-backed service path. A public-facing route accepts raw Python source and forwards it into a server-side compile/exec validation path without any visible entitlement guard. ¶¶ A weakness has been identified in langflow-ai langflow up to 1.9.3. langflow contains a code injection vulnerability in validate-post_validate_code-a-real-authenticated-http-post-t

    • Update to 1.10.1
    Published Updated
  3. CVE-2026-103001

    Medium · CVSS 6.5EPSS 0.26%Public exploitFix available

    PyJWT.decode() reintroduces options-dict mutation, enabling silent claim-verification bypass on dict reuse

    PyJWT is a Python implementation of JSON Web Token standards. From 2.11.0 through 2.13.0, PyJWT's PyJWT._merge_options() method can modify a caller-supplied mutable options mapping when verify_signature is false. If an application reuses that same mapping for a later decode() or decode_complete() call and changes verify_signature to true, the mapping can retain false values for expiration, not-before, issued-at, audience, issuer, subject, and JWT ID checks. A signed token with invalid registered claims can then be accepted without disabling signature verification, but applications that create a fresh options mapping for each call are not affe

    • Update to 2.14.0-1
    Published Updated
  4. CVE-2026-103000

    High · CVSS 8.7EPSS 0.35%Fix available

    pypdf: Possible large memory usage when retrieving alphabetical page labels

    pypdf is a free and open-source pure-python PDF library. Prior to 6.19.0, a crafted PDF can provide unusually large alphabetical page-label values that cause pypdf/_page_labels.py to generate strings beyond a reasonable page-label length when an application retrieves document page labels, consuming excessive memory and potentially making the application unavailable. This issue is fixed in version 6.19.0.

    • Update to 6.19.0
    • Update to 6.19.0-1
    Published Updated
  5. CVE-2026-102999

    High · CVSS 8.7EPSS 0.35%Fix available

    pypdf: Possible long runtimes with large amount of embedded files

    pypdf is a free and open-source pure-python PDF library. Prior to 6.19.0, a crafted PDF containing many embedded files can cause the dictionary-based attachments API in pypdf/_doc_common.py to reparse the full attachment list for each content lookup, producing repeated work and long runtimes when an application accesses the embedded-file mapping. This issue is fixed in version 6.19.0.

    • Update to 6.19.0
    • Update to 6.19.0-1
    Published Updated
  6. CVE-2026-102998

    High · CVSS 8.7EPSS 0.34%Fix available

    pypdf: Possible long runtimes when generating appearance streams

    pypdf is a free and open-source pure-python PDF library. Prior to 6.19.0, a crafted PDF with form field values can cause pypdf/generic/_appearance_stream.py appearance-stream generation to repeat invariant selection-data work inside a loop when an application updates fields with flattening enabled, resulting in excessive runtimes and application unavailability. This issue is fixed in version 6.19.0.

    • Update to 6.19.0
    • Update to 6.19.0-1
    Published Updated
  7. CVE-2026-102997

    High · CVSS 8.7EPSS 0.34%Fix available

    pypdf: Possible long runtimes for partially malformed FlateDecode streams (Follow-up)

    pypdf is a free and open-source pure-python PDF library. Prior to 6.18.1, a crafted PDF containing a partially malformed /FlateDecode stream with padded data can force pypdf/filters.py to use inefficient byte-by-byte decompression while the earlier recovery counter fails to advance for bytes that successfully decode, causing long runtimes and application unavailability. This is a residual issue after the malformed FlateDecode recovery fix. This issue is fixed in version 6.18.1.

    • Update to 6.18.1
    • Update to 6.19.0-1
    Published Updated
  8. CVE-2026-102996

    High · CVSS 8.7EPSS 0.34%Fix available

    pypdf: Possible large memory usage when parsing font data

    pypdf is a free and open-source pure-python PDF library. Prior to 6.18.1, a crafted PDF can provide a TrueType or Type1 simple font with an unusually large /Widths array, causing pypdf/_font.py Font._collect_tt_t1_character_widths to process entries beyond the 256 character codes meaningful for a simple font and consume excessive memory during operations such as text extraction. This issue is fixed in version 6.18.1.

    • Update to 6.18.1
    • Update to 6.19.0-1
    Published Updated
  9. CVE-2026-102995

    High · CVSS 8.7EPSS 0.34%Fix available

    pypdf: Possible large memory usage for large /ToUnicode streams (Follow-up 2)

    pypdf is a free and open-source pure-python PDF library. Prior to 6.18.1, a crafted PDF can place unusually large source-code or destination-string tokens in a font /ToUnicode mapping, causing pypdf/_cmap.py parse_bfchar to decode and retain oversized values during operations such as text extraction and consume excessive memory. This is a second follow-up to earlier /ToUnicode resource-consumption fixes and is limited to the remaining token-length path. This issue is fixed in version 6.18.1.

    • Update to 6.18.1
    • Update to 6.19.0-1
    Published Updated
  10. CVE-2026-102994

    High · CVSS 8.7EPSS 0.34%Fix available

    pypdf: Possible long runtimes/large memory usage when parsing indirect objects

    pypdf is a free and open-source pure-python PDF library. Prior to 6.18.0, a crafted PDF containing indirect-object identifiers or generation-number tokens that continue for a long time without whitespace can cause pypdf/_reader.py and pypdf/generic/_base.py to scan excessive input through read_until_whitespace, resulting in long runtimes and application unavailability. This issue is fixed in version 6.18.0.

    • Update to 6.18.0
    • Update to 6.19.0-1
    Published Updated
  11. CVE-2026-102993

    High · CVSS 8.7EPSS 0.35%Fix available

    pypdf: Possible large memory usage when retrieving Roman page labels

    pypdf is a free and open-source pure-python PDF library. Prior to 6.17.0, a crafted PDF can provide unusually large Roman page-label values that cause pypdf/_page_labels.py to generate excessively large numeral strings when an application retrieves document page labels, consuming large amounts of memory and potentially making the application unavailable. This issue is fixed in version 6.17.0.

    • Update to 6.17.0
    • Update to 6.19.0-1
    Published Updated
  12. CVE-2026-102991

    Medium · CVSS 6.5EPSS 0.36%Fix available

    Mako: Path traversal via drive-letter URI on Windows in TemplateLookup

    Mako is a template library written in Python. Prior to 1.4.2, on Windows, TemplateLookup.get_template() in mako/lookup.py resolves template URIs with posixpath, while Template.__init__() in mako/template.py validates them with os.path, which uses ntpath. A URI beginning with a drive designator causes ntpath to absorb the traversal segments before the leading dot-dot check, while posixpath resolution can escape the configured template directory. An application that passes attacker-controlled template names or include paths can disclose process-readable files on the same volume, and a targeted file containing Mako template syntax may also be pa

    • Update to 1.4.2
    Published Updated
  13. CVE-2026-103241

    Medium · CVSS 6.9EPSS 0.71%Fix available

    vllm-project vLLM Gemma4UnifiedParser gemma4.rs denial of service

    A flaw has been found in vllm-project vLLM up to 0.26.0. This vulnerability affects unknown code of the file rust/src/parser/src/unified/gemma4.rs of the component Gemma4UnifiedParser. Executing a manipulation can lead to denial of service. The attack may be launched remotely. The exploit has been published and may be used. Upgrading to version 0.29.1rc0 is able to resolve this issue. This patch is called 3439bad37e68ba9755a46f4f6b44a4aeaf1f60a9. Upgrading the affected component is advised.

    • Update to 0.27.0
    • Update to 0.29.1rc0
    Published Updated
  14. CVE-2026-19553

    High · CVSS 7.6EPSS 0.55%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.10.22
    • Update to 3.11.17
    • Update to 3.11.2-6+deb12u9
    • Update to 3.12.15
    • Update to 3.13.16
    • Update to 3.14.8
    • Update to 3.14.8-1
    • Update to 3.15.0rc3
    • Update to 3.15.0~rc3-1
    • Update to 8.0.1+dfsg-1
    Published Updated
  15. CVE-2026-19445

    Critical · CVSS 9.2EPSS 0.52%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.10.22
    • Update to 3.11.17
    • Update to 3.11.2-6+deb12u9
    • Update to 3.12.15
    • Update to 3.13.16
    • Update to 3.14.8
    • Update to 3.14.8-1
    • Update to 3.15.0rc3
    • Update to 3.15.0~rc3-1
    • Update to 8.0.1+dfsg-1
    Published Updated
  16. CVE-2026-102938

    Medium · CVSS 5.8EPSS 0.15%Fix available

    virtualenv writes prompt values into pyvenv.cfg without sanitizing line boundaries, allowing configuration injection

    virtualenv is a tool for creating isolated virtual python environments. Prior to 21.7.11, PyEnvCfg.write() writes prompt values verbatim to the line-oriented pyvenv.cfg format while PyEnvCfg._read_values() parses the file with str.splitlines() and accepts the last value for duplicate keys. An attacker who influences --prompt, VIRTUALENV_PROMPT, or configuration input can insert a recognized line boundary and additional keys, including home, causing consumers to use an attacker-selected base interpreter or corrupted environment metadata. The security impact requires prompt input from outside the operator's trust boundary; directly supplied pro

    • Update to 21.7.11
    Published Updated
  17. CVE-2026-102937

    High · CVSS 7.3EPSS 0.14%Fix available

    virtualenv: Command injection via --prompt in activate.bat (batch activator)

    virtualenv is a tool for creating isolated virtual python environments. Prior to 21.7.12, BatchActivator.quote() returns prompt text unchanged before activate.bat inserts it into a cmd.exe set "VAR=value" statement. An attacker who influences --prompt, VIRTUALENV_PROMPT, or the corresponding configuration value can include a double quote that closes the assignment and leaves following cmd.exe operators as executable syntax. When a user activates the generated Windows environment, the injected commands run with that user's privileges. This issue is fixed in version 21.7.12.

    • Update to 21.7.12
    Published Updated
  18. CVE-2026-102930

    High · CVSS 7.7EPSS 0.2%Fix available

    virtualenv: Downloaded seed wheels (pip/setuptools) are not integrity-checked before use

    virtualenv is a tool for creating isolated virtual python environments. Prior to 21.7.12, download_wheel() accepts pip and setuptools seed wheels fetched for periodic updates or the --download option without checking their bytes against an authoritative digest equivalent to the embedded wheels' BUNDLE_SHA256 verification. A compromised index, stale mirror, or intercepted TLS connection can substitute a different wheel under the requested distribution, version, and filename, after which virtualenv caches and seeds the attacker-controlled wheel into subsequently created environments. The verification applies to the default PyPI path and is inte

    • Update to 21.7.12
    Published Updated
  19. CVE-2026-102925

    High · CVSS 7.8EPSS 0.16%Fix available

    virtualenv bash and fish activation scripts execute commands embedded in paths

    virtualenv is a tool for creating isolated virtual python environments. Prior to 21.7.13, the generated activate (bash and zsh) and activate.fish scripts place values already escaped by shlex.quote inside an additional quoted context. In the bash and zsh script, a crafted virtual environment path reaches __VIRTUAL_ENV__ when a relocated environment's recorded directory is absent; in the fish script, crafted Tcl or Tk library paths reach __TCL_LIBRARY__ or __TK_LIBRARY__. The surplus quotes can terminate the data-only quoted run and leave shell metacharacters parsed as commands when a user sources the activation script, allowing code execution

    • Update to 21.7.13
    Published Updated
  20. CVE-2026-102904

    Medium · CVSS 5.4EPSS 0.21%Fix available

    JupyterLab: Argument injection in JupyterLab extension uninstall exposes server-readable files and internal URLs

    JupyterLab is an extensible environment for interactive and reproducible computing, based on the Jupyter Notebook Architecture. From JupyterLab 4.0.0 until 4.5.11 and 4.6.4, the PyPI Extension Manager uninstall request reaches ExtensionHandler.post, which validates extension names for installation but passes uninstall names to PyPIExtensionManager.uninstall and python -m pip uninstall without rejecting option-like values. The security impact requires that the PyPI Extension Manager is enabled, the account can call the extension API, and kernels and terminals are disabled or delegated to remote hosts; otherwise the user can already read files

    • Update to 4.5.11
    • Update to 4.6.4
    Published Updated

Check your server

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

Check your server →