p PatchFirst

PatchFirst · Vulnérabilités récentes

Vulnérabilités de la pile Python · Page n° 3

Vulnérabilités publiées pour Python au cours des 30 derniers jours : 322. Présentes dans le catalogue KEV : 0.

RSS ↗
Filtrer les vulnérabilités
Python

Vulnérabilités : 7029

  1. GHSA-pxh4-856f-4h89

    Élevée · CVSS 7.4Correctif disponible

    PyJWT: HS256/384/512 verify accepts empty HMAC key via oct JWK (PyJWK/PyJWKClient) enabling token forgery

    ### Summary `HMACAlgorithm.from_jwk` accepts a symmetric (`kty=oct`) JWK whose `k` value is the empty string and returns a zero-length key without raising. When a token is then verified with that key object (a `PyJWK`, or a `PyJWK` resolved by `PyJWKSet` / `PyJWKClient`), the HMAC verifier computes `HMAC(key=b"", signing_input)` and accepts any token an attacker forged with the same empty key. The attacker needs no secret knowledge: they reproduce the digest locally with an empty key and set the token's `kid` to the empty-`k` JWK. The empty-key rejection that `HMACAlgorithm.prepare_key` performs for string/bytes secrets (added in 2.13.0) wa

    • Mettez à jour vers 2.14.0
    Publication Mise à jour
  2. GHSA-9v8h-qqgm-4m35

    Non évaluéeCorrectif disponible

    Brotli: Out-of-bounds write in the Brotli decoder ("Node2Shell") also affects the PyPI Brotli package

    A buffer overflow vulnerability in the Brotli decoder (c/dec/decode.c) in Google Brotli versions 1.0.3 through 1.2.0 on all platforms allows a remote unauthenticated attacker to corrupt adjacent decoder state memory, disclose sensitive memory contents, cause a denial of service, or potentially execute arbitrary code using a crafted Brotli-compressed stream. Users need to update any Brotli libraries or binaries between 1.0.3 through 1.2.0 to the latest available version: 1.0.10 or 1.1.1 or 1.2.1.

    • Mettez à jour vers 1.2.1
    • Mettez à jour vers 1.2.1.0
    Publication Mise à jour
  3. CVE-2026-114603

    Moyenne · CVSS 5.3EPSS 0,49%Code d’exploitation publicCorrectif disponible

    OpenTelemetry Python: Unbounded tracestate parsing in opentelemetry-api

    OpenTelemetry Python provides the Python API and SDK for OpenTelemetry. Prior to 1.45.1, the opentelemetry-api function TraceState.from_header in opentelemetry/trace/span.py, reached through TraceContextTextMapPropagator.extract, parses inbound W3C tracestate headers with an unbounded optional-whitespace regular expression. A malformed header containing a long run of spaces or tabs without a following comma causes quadratic backtracking before the member-count limit is applied. Services using the default W3C Trace Context propagator can therefore spend excessive CPU time on one unauthenticated request when the HTTP server, parser, gateway, or

    • Mettez à jour vers 1.45.1
    Publication Mise à jour
  4. CVE-2026-111497

    Critique · CVSS 9.2EPSS 0,48%Code d’exploitation publicCorrectif disponible

    Out-of-Bounds Write in Google Brotli Decoder

    A buffer overflow vulnerability in the Brotli decoder (c/dec/decode.c) in Google Brotli versions 1.0.3 through 1.2.0 on all platforms allows a remote unauthenticated attacker to corrupt adjacent decoder state memory, disclose sensitive memory contents, cause a denial of service, or potentially execute arbitrary code using a crafted Brotli-compressed stream. Users need to update any Brotli libraries or binaries between 1.0.3 through 1.2.0 to the latest available version: 1.0.10 or 1.1.1 or 1.2.1.

    • Mettez à jour vers 1.0.10
    • Mettez à jour vers 1.0.9-2+deb12u1
    • Mettez à jour vers 1.1.0-2+deb13u1
    • Mettez à jour vers 1.1.1
    • Mettez à jour vers 1.2.1
    • Mettez à jour vers 1.2.1.0
    Publication Mise à jour
  5. CVE-2026-115324

    Critique · CVSS 9.2EPSS 0,33%Correctif disponible

    mem0 0.1.117 before 1.0.8 SQL Injection via Databricks Vector Store

    mem0 0.1.117 before 1.0.8 contains an sql injection vulnerability in mem0/vector_stores/databricks.py that allows attackers to inject SQL by influencing stored memory content. Attackers can supply crafted memory text, metadata, or message names that reach unescaped insert() and update() string interpolation to execute injected SQL on the configured Databricks SQL warehouse.

    • Mettez à jour vers 1.0.8
    Publication Mise à jour
  6. CVE-2026-112902

    Non évaluéeCorrectif disponible

    Pillow: Memory disclosure and segfault in libtiff encoder via crafted TIFF tags

    ``` ============================================================================ Memory disclosure and segfault in libtiff encoder via crafted TIFF tags Location: src/encode.c:1014 in PyImaging_LibTiffEncoderNew() Commit: a707c6b21c313880d0771e54965d142dd42358b6 ============================================================================ ``` A crafted TIFF file of a few hundred bytes makes Pillow copy an attacker-chosen amount of its own process memory into the TIFF it writes back out, or crash the process outright. The trigger is an ordinary `Image.open()` followed by a bare `im.save(fp, "TIFF")`. The only precondition is that the applic

    • Mettez à jour vers 13.0.0
    Publication Mise à jour
  7. CVE-2026-114501

    Moyenne · CVSS 6.3EPSS 0,38%Code d’exploitation publicCorrectif disponible

    Pillow: Arrow export leaks stale heap memory when PILLOW_ALIGNMENT > 1

    Pillow is a Python imaging library. From 11.2.1 until 13.0.0, Arrow export assumes that an image's rows are tightly contiguous and exports from im->blocks[0].ptr even when PILLOW_ALIGNMENT makes aligned_linesize include row padding or an aligned offset before the first row. The resulting Arrow buffer can include uninitialized padding, bytes preceding the first row, or stale heap contents from previously freed images. Applications that configure alignment and export images to Arrow can therefore disclose one user's pixels or other process memory to another user. This issue is fixed in version 13.0.0.

    • Mettez à jour vers 13.0.0
    Publication Mise à jour
  8. CVE-2026-96639

    Critique · CVSS 9.8EPSS 0,56%Code d’exploitation publicCorrectif disponible

    Pillow multi-frame loaders can reuse stale native image storage after mode transitions

    Pillow is a Python imaging library. From 11.0.0 until 13.0.0, multi-frame loaders can retain an ImagingCore allocation created for a narrow frame mode while a later frame of the same dimensions changes the logical mode and decoder tiles to wider RGB or CMYK data. ImageFile.load_prepare() reuses the stale native storage because _im is non-null without verifying that its mode and size still match. Crafted PSD, MPO, DCX, or MIC frame transitions can then write wider pixels into the narrow allocation, causing native out-of-bounds writes and crashes. The MPO path can also cause a native over-read and, in demonstrated runtime-specific profiles, com

    • Mettez à jour vers 13.0.0
    Publication Mise à jour
  9. CVE-2026-96636

    Moyenne · CVSS 6.5EPSS 0,28%Code d’exploitation publicCorrectif disponible

    Pillow: Decompression-bomb protection bypass via multi-frame seek() in MPO and DCX (MpoImageFile.seek / DcxImageFile.seek)

    Pillow is a Python imaging library. Prior to 13.0.0, MpoImageFile.seek() and DcxImageFile.seek() reparse later MPO or DCX frames and replace self._size without rerunning Image._decompression_bomb_check(). A crafted multi-frame image can use a tiny first frame to pass Image.open() and then declare an over-limit later frame. Normal frame iteration through seek(), load(), or ImageSequence.Iterator can decode that frame and commit hundreds of megabytes or more, causing memory-exhaustion denial of service. This issue is fixed in version 13.0.0.

    • Mettez à jour vers 13.0.0
    Publication Mise à jour
  10. CVE-2026-96640

    Élevée · CVSS 8.2EPSS 0,42%Code d’exploitation publicCorrectif disponible

    Pillow PDF append accepts malformed shared page-tree DAG causing resource exhaustion

    Pillow is a Python imaging library. From 5.1.0 until 13.0.0, PdfParser.linearize_page_tree() in src/PIL/PdfParser.py treats a PDF /Pages graph as a tree without tracking duplicate indirect references. When Image.save(..., format="PDF", append=True) processes an attacker-controlled existing PDF whose /Kids arrays repeatedly reference the same child /Pages node, Pillow expands the shared subtree as distinct pages. A compact malformed PDF can therefore create exponentially many page references and consume disproportionate CPU before the append completes. This issue is fixed in version 13.0.0.

    • Mettez à jour vers 13.0.0
    Publication Mise à jour
  11. CVE-2026-96637

    Élevée · CVSS 7.1EPSS 0,33%Code d’exploitation publicCorrectif disponible

    Pillow: Decompression bomb check bypass in SpiderImagePlugin.seek() leads to unbounded allocation DoS

    Pillow is a Python imaging library. Prior to 13.0.0, SpiderImageFile.seek() in src/PIL/SpiderImagePlugin.py reparses a later SPIDER stack frame and replaces self._size without rerunning Image._decompression_bomb_check(). A tiny file can use a safe first frame to pass Image.open() and then declare very large dimensions in a later mode F frame. Loading that frame allocates approximately four bytes per attacker-declared pixel and can consume multiple gigabytes of memory. This issue is fixed in version 13.0.0.

    • Mettez à jour vers 13.0.0
    Publication Mise à jour
  12. CVE-2026-96778

    Élevée · CVSS 7.7EPSS 0,4%Code d’exploitation publicCorrectif disponible

    Pillow: Heap buffer overflow writing JPEG comment after ICC profile fills buffer

    Pillow is a Python imaging library. From 9.4.0 until 13.0.0, ImagingJpegEncode() in src/libImaging/JpegEncode.c can call jpeg_write_marker() for a JPEG COM comment when an ICC profile has exactly filled the 65536-byte encoder buffer. libjpeg writes one byte before checking the exhausted free_in_buffer counter, which then wraps and permits the attacker-controlled comment and subsequent compressed image data to overwrite adjacent heap memory. Re-saving an untrusted image as JPEG while preserving its ICC profile and forwarded comment can crash the process and may enable code execution in suitable runtime and heap layouts. This issue is fixed in

    • Mettez à jour vers 13.0.0
    Publication Mise à jour
  13. CVE-2026-96643

    Élevée · CVSS 7.1EPSS 0,33%Correctif disponible

    Pillow: PNG eXIf chunk makes EXIF parsing run in quadratic time

    Pillow is a Python imaging library. From 11.0.0 until 13.0.0, Exif.load() in src/PIL/Image.py repeatedly slices the remaining EXIF data while it begins with the six-byte Exif header. src/PIL/PngImagePlugin.py accepts an uncapped PNG eXIf chunk, so a file filled with repeated headers causes a new shrinking copy on every iteration and quadratic CPU work. The condition is reachable through Image.getexif(), Image._getexif(), and ImageOps.exif_transpose(), including common photo-upload rotation workflows. This issue is fixed in version 13.0.0.

    • Mettez à jour vers 13.0.0
    Publication Mise à jour
  14. CVE-2026-96644

    Élevée · CVSS 7.1EPSS 0,33%Code d’exploitation publicCorrectif disponible

    Pillow: Heap over-read in WMF/EMF rendering via 16-bit dimension truncation (Windows builds)

    Pillow is a Python imaging library. Prior to 13.0.0 on Windows, src/PIL/WmfImagePlugin.py passes unchecked 32-bit WMF or EMF dimensions to the native drawwmf handler in src/display.c. The handler sizes a DIB allocation from 16-bit-truncated bcWidth and bcHeight fields but copies pixel data using the original full dimensions. A crafted wide, short metafile can pass the pixel-count decompression-bomb check and make the Windows-only renderer read beyond the heap buffer, potentially disclosing memory or crashing the process. This issue is fixed in version 13.0.0.

    • Mettez à jour vers 13.0.0
    Publication Mise à jour
  15. CVE-2026-96641

    Moyenne · CVSS 6.5EPSS 0,28%Code d’exploitation publicCorrectif disponible

    Pillow: Reachable undefined behavior in native integer operations, potentially leading to denial of service or logic integrity compromise

    Pillow is a Python imaging library. Prior to 13.0.0, PILfont text-width accumulation in src/_imaging.c checks positive glyph advances against INT_MAX but does not check negative advances against INT_MIN. Repeating a signed 16-bit advance of -32768 can therefore execute a signed C integer overflow in xsize += dx, producing a large positive width from a negative mathematical result. Applications that use getlength(), getsize(), or derived layout, quota, serialization, or allocation calculations can experience logic-integrity errors or resource consumption, while the high-level mask path commonly retains a decompression-bomb check. This issue is

    • Mettez à jour vers 13.0.0
    Publication Mise à jour
  16. CVE-2026-96642

    Élevée · CVSS 7.1EPSS 0,33%Correctif disponible

    Pillow: TarIO negative size field causes infinite CPU-spin loop

    Pillow is a Python imaging library. Prior to 13.0.0, the TarIO initializer in src/PIL/TarIO.py accepts a negative octal member size and computes a backward seek that returns to the same 512-byte header. When the requested member name does not match, the parser repeatedly reads that header, consumes a full CPU core, and never returns. TarIO is reached only when an application directly uses PIL.TarIO.TarIO rather than the default Image.open() path. This issue is fixed in version 13.0.0.

    • Mettez à jour vers 13.0.0
    Publication Mise à jour
  17. CVE-2026-96638

    Moyenne · CVSS 6.5EPSS 0,28%Code d’exploitation publicCorrectif disponible

    Pillow: BMP RLE decoder memory-amplification DoS via unbounded delta escape / absolute mode

    Pillow is a Python imaging library. From 9.1.0 until 13.0.0, BmpRleDecoder.decode() in src/PIL/BmpImagePlugin.py permits crafted RLE BMP delta escapes and absolute-mode runs to append beyond the remaining dest_length without a per-branch cap. A delta can add roughly 255 image rows in one iteration, so a kilobyte-sized file with a large but permitted width can expand the data bytearray to hundreds of megabytes or more, causing memory-exhaustion denial of service. This issue is fixed in version 13.0.0.

    • Mettez à jour vers 13.0.0
    Publication Mise à jour
  18. CVE-2026-114145

    Élevée · CVSS 7.5EPSS 0,26%Code d’exploitation publicCorrectif disponible

    GitPython validates a submodule's ".git" path only after cloning into it (RCE)

    GitPython is a python library used to interact with Git repositories. Prior to 3.2.1, create_submodule() in git/objects/submodule/base.py accepts an attacker-influenced submodule path such as .git/hooks and invokes _clone_repo() before safely rejecting the destination. In 3.1.x, _validate_repo_path() does not exist and the call succeeds silently, while in 3.2.0 and later affected revisions the check in git/index/base.py raises ValueError only after the clone has written to disk and does not remove the planted file. An attacker-controlled submodule can therefore place an executable post-checkout hook that a later Git operation executes. Exploi

    • Mettez à jour vers 3.2.1
    Publication Mise à jour
  19. CVE-2026-114140

    Élevée · CVSS 8.8EPSS 0,31%Code d’exploitation publicCorrectif disponible

    nbconvert: File write via path traversal in cell output filenames

    The nbconvert tool, jupyter nbconvert, converts Jupyter notebooks to various other formats via Jinja templates. From 5.4.0 until 7.17.2, ExtractOutputPreprocessor in nbconvert/preprocessors/extractoutput.py joins the attacker-controlled cell output metadata filename to output_files_dir without limiting the result to the intended directory. When a victim converts a malicious notebook with the markdown, LaTeX, reStructuredText, or AsciiDoc exporter, path traversal in the output filename can write attacker-controlled output data to arbitrary locations accessible to the victim. Running the notebook cell again replaces the malicious output metadat

    • Mettez à jour vers 7.17.2
    Publication Mise à jour
  20. CVE-2026-114138

    Élevée · CVSS 7.5EPSS 0,43%Code d’exploitation publicCorrectif disponible

    Django REST framework: Accept header with many large quoted parameters burns ~19s of CPU per request in content negotiation

    Django REST framework is a toolkit for building Web APIs. Prior to 3.18.2, DefaultContentNegotiation.get_accept_list in rest_framework/negotiation.py accepts an unbounded number and aggregate size of Accept tokens, while select_renderer in that file repeatedly invokes _MediaType parsing from rest_framework/utils/mediatypes.py for each attacker-controlled token, every renderer, and forced 406 renegotiation. A remote unauthenticated client can send many distinct media types containing large quoted parameter values with numerous semicolons, causing Django's parameter parser and DRF's repeated parsing structure to consume disproportionate CPU. Re

    • Mettez à jour vers 3.18.2
    • Mettez à jour vers 3.18.3+ds1-1
    Publication Mise à jour

Vérifiez votre serveur

Comparez votre pile et les versions installées aux bases de vulnérabilités actuelles.

Vérifiez votre serveur →