p PatchFirst

PatchFirst · Latest vulnerabilities

Python stack vulnerabilities · Page 18

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

Filter vulnerabilities
Python

Vulnerabilities: 7072

  1. CVE-2026-101918

    Medium · CVSS 5.3EPSS 0.41%Fix available

    PyJWT: Unauthenticated RecursionError DoS in pre-verification payload parse (PyJWKClient.get_signing_key_from_jwt / verify_signature=False)

    PyJWT is a Python implementation of JSON Web Token standards. From 2.0.0a1 until 2.15.0, PyJWT PyJWKClient.get_signing_key_from_jwt is affected because payload parser catches ValueError but not RecursionError. This occurs when an attacker-controlled recursively nested payload reaches json.loads. As a result, documented PyJWT exception handling does not contain the failure. Consequently, an unauthenticated request can raise an exception that may produce an HTTP 500 response. The advisory-defined affected implementation also includes jwt/api_jwt.py, verify_signature=False. This issue is fixed in version 2.15.0.

    • Update to 1.3.0-1ubuntu0.1+esm4
    • Update to 1.5.3+ds1-1ubuntu0.1+esm4
    • Update to 1.7.1-2ubuntu2.1+esm4
    • Update to 2.10.1-4ubuntu1.3
    • Update to 2.13.0-1ubuntu1.1
    • Update to 2.15.0
    • Update to 2.15.0-1
    • Update to 2.3.0-1ubuntu0.6
    • Update to 2.7.0-1ubuntu0.4
    Published Updated
  2. CVE-2026-101917

    Medium · CVSS 5.3EPSS 0.43%Fix available

    PyJWT: PyJWKClient still amplifies unauthenticated JWKS fetches on unknown kid values (incomplete fix of CVE-2026-48524)

    PyJWT is a Python implementation of JSON Web Token standards. Prior to 2.14.0, PyJWT get_signing_key_from_jwt is affected because unknown kid misses force refreshes without a negative cache or minimum refresh interval. This occurs when unauthenticated tokens repeatedly use the same unknown kid or varying kid values absent from the cached JWKS. As a result, each cache miss causes PyJWKClient to refresh the JWKS. Consequently, attacker traffic can amplify outbound requests to the configured JWKS endpoint. This issue is fixed in version 2.14.0.

    • Update to 2.10.1-4ubuntu1.3
    • Update to 2.13.0-1ubuntu1.1
    • Update to 2.14.0
    • Update to 2.14.0-1
    • Update to 2.3.0-1ubuntu0.6
    • Update to 2.7.0-1ubuntu0.4
    Published Updated
  3. CVE-2026-96760

    Critical · CVSS 9.8EPSS 0.43%Public exploitFix available

    Authlib library contains a signature‑verification bypass vulnerability

    Authlib (v1.7.2 and below) contains a signature verification bypass vulnerability. The JsonWebSignature.deserialize_json() method accepts a JSON Serialization JWS object and returns the payload as successfully verified without checking for a signature and without requiring a cryptographic key.

    • Update to 1.9.0
    Published Updated
  4. CVE-2026-100846

    High · CVSS 8.8EPSS 0.36%Fix available

    MONAI before 1.5.2 Remote Code Execution via Pickle Deserialization

    MONAI before 1.5.2 contains a deserialization of untrusted data vulnerability in the algo_from_pickle function in monai/auto3dseg/utils.py. The function reads a .pkl file and passes its contents to pickle.loads without validating the data source or content. If an application invokes algo_from_pickle on an attacker-supplied pickle file, an object defining __reduce__ is executed during deserialization, resulting in arbitrary code execution in the context of the application.

    • Update to 1.5.2
    • Update to 1.6.0
    Published Updated
  5. CVE-2026-100845

    High · CVSS 8.5EPSS 0.2%Fix available

    MONAI before 1.6.0 Remote Code Execution via NumpyReader

    MONAI before 1.6.0 contains an unsafe deserialization vulnerability in the NumpyReader class that unconditionally uses numpy.load with allow_pickle=True when loading .npy and .npz files. Attackers can craft malicious .npy files with pickle payloads that execute arbitrary code when loaded through MONAI's standard data pipeline.

    • Update to 1.6.0
    Published Updated
  6. CVE-2026-100844

    High · CVSS 8.6EPSS 0.92%Fix available

    MONAI before 1.6.0 OS Command Injection via dataset_name_or_id

    MONAI before 1.6.0 is vulnerable to OS command injection in the nnUNetV2Runner component (monai.apps.nnunet.nnunetv2_runner). User-controlled values taken from the YAML configuration file (notably dataset_name_or_id) and from CLI/kwargs arguments are concatenated into a command string without quoting or validation and then passed to subprocess with shell=True, so shell metacharacters (e.g., ';' on Linux, '&' on Windows) are interpreted. If a victim loads and processes a crafted configuration file — for example by instantiating nnUNetV2Runner with the malicious YAML and invoking a training/validation job such as train_single_model() — arbitrar

    • Update to 1.6.0
    Published Updated
  7. CVE-2026-100843

    High · CVSS 8.5EPSS 0.3%Fix available

    MONAI before 1.6.0 Remote Code Execution via algo_from_pickle

    MONAI versions before 1.6.0 contain a remote code execution vulnerability in the algo_from_pickle() function due to unsafe pickle.loads() deserialization in monai/auto3dseg/utils.py. Attackers can craft malicious pickle files that execute arbitrary system commands when deserialized by the vulnerable function.

    • Update to 1.6.0
    Published Updated
  8. CVE-2026-100842

    High · CVSS 7.3EPSS 0.18%Fix available

    MONAI through 1.6.0 _get_fake_spatial_shape eval() Sandbox Bypass via Attribute Chains

    MONAI through 1.6.0 contains an eval injection vulnerability in _get_fake_spatial_shape() in monai/bundle/scripts.py. The function validates shape expressions with a helper that walks the AST and only collects ast.Name nodes, rejecting any name other than 'p' or 'n', before passing the string to eval(). Expressions built solely from constants and attribute, subscript, or call nodes (for example "(1).__class__.__bases__[0].__subclasses__()" or "int.__class__.__init__.__globals__") contain no ast.Name nodes and therefore bypass the allowlist. Because the shape value originates from bundle metadata consumed by _get_real_input_data and verify_net

    • Update to 1.6.1rc0
    Published Updated
  9. CVE-2026-100841

    High · CVSS 8.5EPSS 0.13%No fix published

    MONAI through 1.6.0 PersistentDataset Remote Code Execution via Pickle Cache

    In MONAI 1.6.0, PersistentDataset (monai/data/dataset.py) explicitly rejects the combination track_meta=True with weights_only=True, forcing users who cache MetaTensors (the default tensor type in MONAI >= 1.0) to run torch.load(hashfile, weights_only=False). Related cache helpers in monai/data/utils.py also call pickle.loads on cached content and derive cache keys with hashlib.md5. As a result, a local user with write access to a shared or world-writable cache_dir (e.g. /tmp/monai_cache, HPC scratch, ~/.cache/monai) can place a malicious pickle file that is deserialized the next time another user's MONAI pipeline reads the cache, resulting i

    Published Updated
  10. CVE-2026-100840

    High · CVSS 8.5EPSS 0.31%Fix available

    MONAI through 1.6.0 Remote Code Execution via bundle configuration

    MONAI through 1.6.0 contains a remote code execution vulnerability in the bundle configuration engine that resolves _target_ values to arbitrary importable callables without an allow list and passes $ expressions to Python eval(). Attackers can publish a malicious bundle with crafted configuration containing arbitrary code that executes when a victim loads the bundle using monai.bundle.load() or monai.bundle.run().

    • Update to 1.6.1rc0
    Published Updated
  11. CVE-2026-100689

    High · CVSS 8.7EPSS 0.4%Fix available

    GitPython before 3.1.62 Path Traversal via gitmodules path

    GitPython before 3.1.62 does not validate the `path` field read from an untrusted .gitmodules file when updating submodules. While a prior fix (GHSA-hmq2-w58f-27jc) added Submodule._validated_name() to constrain the `name` field, and GitPython's own containment guard Submodule._to_relative_path() is applied in add() and move(), Submodule.update() derives the absolute checkout location from the raw `path` value without that guard. A .gitmodules entry containing directory traversal components (e.g., path = ../../../tmp/escaped) can therefore cause directories to be created via os.makedirs() outside the repository working tree, populated from th

    • Update to 3.1.62
    • Update to 3.1.62-1
    Published Updated
  12. CVE-2026-100653

    High · CVSS 8.3EPSS 0.34%Fix available

    vLLM 0.22.1 before 0.28.0 Incomplete Artifact Pin Propagation

    vLLM is an inference and serving engine for large language models. In versions from 0.22.1 through 0.28.0, the operator-supplied model revision pin (--revision / --code-revision) is not propagated to several Hugging Face artifact loads for the FunAudioChat and Tarsier2 architectures: the WhisperFeatureExtractor and speech_tokenizer PreTrainedTokenizerFast loads in vllm/model_executor/models/funaudiochat.py and the Qwen2VLConfig.from_pretrained call used by Tarsier2ProcessingInfo in vllm/model_executor/models/qwen2_vl.py. As a result, deployments pinned to a reviewed revision still resolve these behavior-affecting processor, tokenizer, and con

    • Update to 0.28.0
    Published Updated
  13. CVE-2026-100652

    High · CVSS 8.2EPSS 0.42%Fix available

    vLLM 0.22.0 through 0.23.0 Denial of Service via stop_token_ids

    vLLM versions 0.22.0 through 0.23.0 fail to validate stop_token_ids against vocabulary bounds in Rust HTTP and gRPC frontends, allowing out-of-vocabulary token IDs to reach MinTokensLogitsProcessor. Attackers can submit requests with min_tokens greater than zero and out-of-vocabulary stop_token_ids to trigger CUDA tensor indexing failures that leave EngineCore in a fatal state requiring service restart.

    • Update to 0.24.0
    Published Updated
  14. CVE-2026-100650

    High · CVSS 7.1EPSS 0.81%Fix available

    vLLM before 0.29.0 Resource Exhaustion via Unbounded Media Materialization

    vLLM through 0.29.0 fetches and fully materializes remote or inline media before enforcing its documented media controls (the VLLM_MAX_AUDIO_CLIP_FILESIZE_MB compressed-audio size cap, default 25 MB, and the per-modality --limit-mm-per-prompt item limits). Across four ingress paths — the shared media-acquisition layer (HTTPConnection.get_bytes()/async_get_bytes()), the chat completions audio_url/base64 path, the batch speech runner, and the Rust frontend POST /tokenize route — the server reads the entire HTTP response body, base64-decodes the inline payload, or spawns one fetch/decode task per media part, and only then applies the limit (or,

    • Update to 0.29.0
    • Update to 0.30.0
    Published Updated
  15. GHSA-62mm-xwmv-crhg

    High · CVSS 8.7Fix available

    khoj has an unauthenticated path traversal in /home/ endpoint that allows file read from server filesystem

    ### Summary The `/home/{file_path:path}` endpoint in `web_client.py` serves static files by directly concatenating the user-supplied `file_path` with the `home_directory` constant. There is no path traversal filtering, no path normalization check, and no authentication required. An attacker can use `../` sequences to read arbitrary files from the server filesystem. ### Details **Vulnerable code** — `src/khoj/routers/web_client.py` lines 46-49: ```python @web_client.get("/home/{file_path:path}", response_class=FileResponse) def home_static_files(file_path: str): """Serve static files from the home landing page directory""" return Fil

    • Update to 2.0.0-beta.25
    Published Updated
  16. CVE-2026-57443

    High · CVSS 7.5EPSS 0.74%Fix available

    SCBE-AETHERMOORE Unauthenticated AetherBrowser Ops API Exposes Operator Email Digests

    SCBE-AETHERMOORE is a geometric AI governance and evaluation framework. Starting in version 4.0.2 and prior to version 4.2.1, the AetherBrowser API server (`scripts/aetherbrowser/api_server.py`) exposes the `POST /api/ops/check-email` endpoint without any authentication. Any remote attacker can call this endpoint and trigger execution of the `email_reader.py` subprocess, which connects to configured ProtonMail or Gmail accounts via IMAP and returns email metadata (sender, subject, body snippet) in the JSON response. The server binds to `0.0.0.0:8100` by default with CORS set to `allow_origins=["*"]`, making it reachable from any network or br

    • Update to 4.2.1
    Published Updated
  17. GHSA-g28h-2cmm-rj9x

    High · CVSS 7.5Fix available

    langchain-nvidia-ai-endpoints has local file disclosure through VLM image inputs

    ## Summary `langchain-nvidia-ai-endpoints` versions before 1.4.2 accepted local filesystem paths as image inputs for Vision Language Model (VLM) requests. If an application passed attacker-controlled image input to `ChatNVIDIA` or VLM reranking APIs, an attacker could cause files readable by the application process to be read and included in the outbound request to the configured NVIDIA/NIM model endpoint. ## Impact Applications are affected if they use VLM image inputs with `ChatNVIDIA` or `NVIDIARerank` and allow untrusted users to control image URLs or document image metadata. An attacker who can control those inputs may be able to rea

    • Update to 1.4.2
    Published Updated
  18. CVE-2026-96749

    High · CVSS 7.5EPSS 0.19%Fix available

    Heap out-of-bounds write via signed size overflow in BSON document encoding

    An integer overflow in the BSON document encoding component of the MongoDB Python Driver's bundled native extension may occur when a single document is built from an unusually large amount of caller-supplied data. Size arithmetic is performed in a signed 32-bit type, and the guard meant to catch the overflow is written in a form whose behavior is not defined by the C language standard. A party with no privileges who can place a very large value into data that an application encodes may, depending on how the native extension was built, cause a write outside the bounds of an allocated buffer inside the application's own process.

    • Update to 4.18.2
    • Update to 4.18.2-1
    Published Updated
  19. CVE-2026-96748

    High · CVSS 8.3EPSS 0.36%Fix available

    Connection redirection via percent-encoded delimiter injection in connection string hosts

    PyMongo's connection string parsing decodes percent-encoded characters in the host portion before the host list is separated on its delimiters. When an application places a hostname value supplied by an unauthenticated party into a connection string, that party may cause additional servers of their choosing to be added to the application's database client. The application may then send its authentication exchange and database operations to one of those servers, which can observe limited information and return altered results.

    • Update to 4.18.2
    • Update to 4.18.2-1
    Published Updated
  20. CVE-2026-96747

    Medium · CVSS 5.3EPSS 0.19%Fix available

    Forced local Unix socket connection via dot-sock KMS endpoint in client-side field encryption

    The client-side field level encryption support in the MongoDB Python Driver can treat a key management endpoint value ending in ".sock" as a local Unix domain socket path rather than a remote host. A user with write access to the encryption key metadata stored in the database can cause an application using the driver to open connections to local sockets on the application host. Data sent over these connections is limited to the start of a TLS handshake, so no chosen content is transmitted.

    • Update to 4.18.2
    • Update to 4.18.2-1
    Published Updated

Check your server

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

Check your server →