VulnPulse

脆弱性・アップデート

2 ページ目

10月22日(木)昨日

  • 警告01:54脆弱性アドバイザリGitHubPythonGitHub Advisory Database

    pypdf: Possible infinite loop when hitting EOF in standard xref table

    影響: pip:pypdf < 6.20.0 → 6.20.0 An attacker who uses this vulnerability can craft a PDF which leads to an infinite loop. This requires an incomplete file which ends inside the xref table. Patches This has been fixed in [pypdf==6.20.0](https://github.com/py-pdf/pypdf/releases/tag/6.20.0). Workarounds If you cannot upgrade yet, consider applying the changes from PR [#4170](https://github.com/py-pdf/pypdf/pull/4170). Notes This has been reported through both the secure channel and as a public issue at [#4169](https://gith…

  • 重要01:49脆弱性アドバイザリPythonGitHub Advisory Database

    virtualenv bash activate runs commands from an environment name with a backslash before $

    影響: pip:virtualenv <= 21.14.6 → 21.14.7 The bash activate script escapes the environment name for only one of the two passes bash makes over PS1, so a backslash in the name undoes the escaping and a name containing \$(...) runs as commands in the user's shell each time bash draws the prompt. Affected area src/virtualenv/activation/bash/activate.sh, the block that prepends the environment name to PS1. Attacker-controlled input The environment name: the environment directory's name, or the --prompt or VIRTUALENV_PROMPT value. A…

  • 警告01:48脆弱性アドバイザリGitHubPythonGitHub Advisory Database

    pypdf: Possible large memory usage for streams with multiple filters

    影響: pip:pypdf < 6.20.0 → 6.20.0 An attacker who uses this vulnerability can craft a PDF which leads to large memory consumption. This requires accessing any stream with a large amount of filters or multiple filters which pass around large amounts of data. Patches This has been fixed in [pypdf==6.20.0](https://github.com/py-pdf/pypdf/releases/tag/6.20.0). Workarounds If you cannot upgrade yet, consider applying the changes from PR [#4173](https://github.com/py-pdf/pypdf/pull/4173).

  • 重要01:46脆弱性アドバイザリPythonGitHub Advisory Database

    virtualenv activate runs commands from the environment name in zsh with PROMPT_SUBST

    影響: pip:virtualenv <= 21.14.3 → 21.14.4 zsh users activate an environment with the bash activate script, which puts the environment name into PS1. Since 21.13.0 the script escapes backslashes, dollar signs and backticks in that name, but only when BASH_VERSION is set, so zsh gets the raw value. With the PROMPT_SUBST option set, zsh runs parameter expansion, command substitution and arithmetic expansion on PS1 each time it draws the prompt. A name that contains $(...), backticks or ${...} then runs as commands in the user's she…

  • 重要01:39脆弱性アドバイザリPythonGitHub Advisory Database

    virtualenv activate.fish runs commands from a path or prompt with a backslash before a quote

    影響: pip:virtualenv <= 21.14.1 → 21.14.2 FishActivator defines no quote(), so it inherits ViaTemplateActivator.quote, which returns shlex.quote(string). That function follows POSIX sh rules, where a backslash inside single quotes stays a literal character. fish reads \' inside single quotes as an escaped quote and \\ as an escaped backslash. A value with a backslash before a quote therefore ends the literal somewhere other than where shlex.quote put the end, and fish expands the command substitution that follows. The environmen…

  • 重要01:39脆弱性アドバイザリPythonGitHub Advisory Database

    virtualenv activation scripts run code from a path that contains a placeholder name

    影響: pip:virtualenv >= 20.26.6, <= 21.14.1 → 21.14.2 ViaTemplateActivator.instantiate_template replaces the placeholders in an activation template one key at a time, each across the whole text. When a value that it already substituted and quoted contains the name of a later placeholder, the later pass rewrites that name inside the quoted literal. The inserted value brings its own quotes, which close the outer literal, and the rest of the path runs as code when a user activates the environment. __VIRTUAL_NAME__ holds the environment's direc…

10月21日(水)

  • 重要05:56脆弱性アドバイザリPythonGitHub Advisory Database

    Pillow: Out-of-bounds access in _imagingmorph on a zero-width image

    影響: pip:Pillow <= 12.3.0 → 13.0.0 A PPM or PGM file can declare a width of 0, which Pillow accepts, producing an image of size (0, N). Passing that image to ImageMorph.MorphOp.apply() makes the native morphology code index a row buffer at outrow[width - 1], which is outrow[-1] when the width is 0. The process crashes. Details The PPM parser reads width and height with no lower-bound check: - src/PIL/PpmImagePlugin.py:119 The native apply() writes the row edges with no guard that the width is positive: - src/_imagingmorp…

  • 重要05:53脆弱性アドバイザリPythonGitHub Advisory Database

    Pillow: GIF seek keeps rejected size after DecompressionBombError, allowing DoS

    影響: pip:Pillow >= 9.2.0, < 13.0.0 → 13.0.0 ============================================================================ GIF seek keeps rejected size after DecompressionBombError, allowing DoS Location: src/PIL/GifImagePlugin.py:293 in GifImageFile._seek() Commit: a707c6b21c313880d0771e54965d142dd42358b6 ============================================================================ A GIF of about 60 bytes can make Pillow allocate gigabytes of memory. This affects applications that catch the "image too large" error raised while stepping to…

  • 警告05:53脆弱性アドバイザリPythonGitHub Advisory Database

    Pillow: EPS load(scale) lets Ghostscript render past the decompression bomb limit

    影響: pip:Pillow >= 2.3.0, <= 12.3.0 → 13.0.0 ============================================================================ EPS load(scale) lets Ghostscript render past the decompression bomb limit Location: src/PIL/EpsImagePlugin.py:92 in Ghostscript() Commit: a707c6b21c313880d0771e54965d142dd42358b6 ============================================================================ When an application opens an untrusted Encapsulated PostScript file and asks Pillow to render it at a larger scale, Pillow has Ghostscript produce an image several ti…

  • 重要05:52脆弱性アドバイザリPythonGitHub Advisory Database

    Pillow: TiffDecode returns uninitialized memory as pixels for short JPEG strips

    影響: pip:Pillow >= 5.3.0, < 13.0.0 → 13.0.0 ============================================================================ TiffDecode returns uninitialized memory as pixels for short JPEG strips Location: src/libImaging/TiffDecode.c:554 in _decodeStrip() Commit: a707c6b21c313880d0771e54965d142dd42358b6 ============================================================================ Pillow hands back leftover process memory as image pixels when it opens a small crafted TIFF file. Anyone who can get an application to open their image, and can se…

  • 重要05:51脆弱性アドバイザリPythonGitHub Advisory Database

    Pillow: TIFF encoder ColorMap plane-size mismatch causes a heap out-of-bounds read

    影響: pip:Pillow <= 12.3.0 → 13.0.0 A small attacker-supplied TIFF can be opened and loaded normally, then reach an out-of-bounds read when an application saves it back to TIFF with retained metadata. The fixed reproducer is a 1×1, 16-bit grayscale, PackBits-compressed TIFF containing tag 320 (ColorMap) with 768 SHORT values: three zero-filled planes of 256 entries each. No Python object is forged and no metadata is injected after loading. Pillow's TIFF encoder allocates 768 × 2 = 1536 bytes, then passes three plane point…

  • 重要05:50脆弱性アドバイザリPythonGitHub Advisory Database

    Pillow: Unbounded recursion parsing a PDF page tree or trailer chain (incomplete fix for CVE-2026-42310)

    影響: pip:pillow >= 5.1.0, < 13.0.0 → 13.0.0 When an application appends to an existing PDF with Image.save(..., format="PDF", append=True), Pillow parses that file with PdfParser. Two recursive parsers have no effective bound. linearize_page_tree follows /Kids with no visited set or depth limit, so a cyclic or duplicated page tree recurses without end. read_prev_trailer rejects only an exactly repeated /Prev offset, so a long chain of unique offsets still recurses. The trailer-loop guard added for CVE-2026-42310 does not cover ei…

  • 警告05:49脆弱性アドバイザリPythonGitHub Advisory Database

    Pillow tiled-TIFF decoder reads past tile buffer in copy4 (Unpack.c:1290)

    影響: pip:pillow >= 8.2.0, < 13.0.0 → 13.0.0 Pillow's libImaging _decodeTile decoder, used to decode tiled TIFF images, allocates a per-tile buffer using realloc(state->buffer, TIFFTileSize(tiff)). After each TIFFReadTile it then iterates tile_y from 0 up to current_tile_length and calls the configured row unpacker (here copy4) with the source pointer state->buffer + tile_y row_byte_size. When libtiff returns a tile_bytes_size smaller than the worst-case row_byte_size tile_length, the inner stride-and-copy loop walks past the real…

  • 重要05:42脆弱性アドバイザリPythonGitHub Advisory Database

    Pillow: OOB read in TiffDecode.c tile and RGBA paths leaks heap memory into pixels

    影響: pip:Pillow >= 8.1.0, < 13.0.0 → 13.0.0 ============================================================================ OOB read in TiffDecode.c tile and RGBA paths leaks heap memory into pixels Location: src/libImaging/TiffDecode.c:483 in _decodeTile() Commit: a707c6b21c313880d0771e54965d142dd42358b6 ============================================================================ Pillow reads past the end of a heap buffer when decoding certain malformed compressed TIFF files, and copies the bytes it reads into the pixels of the image it re…

  • 緊急05:40脆弱性アドバイザリPythonGitHub Advisory Database

    Pillow: Heap buffer overflow in ImagingJpegDecode

    影響: pip:Pillow <= 12.3.0 → 13.0.0 JpegImageFile.draft() — which Image.thumbnail() calls automatically — requests 1/2, 1/4 or 1/8 scaled JPEG output and shrinks self._size and the tile extents to match, so _setimage() allocates a single-row decode buffer of ceil(W/s) samples. ImagingJpegDecode() sets cinfo.scale_num/scale_denom, calls jpeg_start_decompress(), and then reads scanlines into that buffer without ever comparing cinfo.output_width, cinfo.output_height or cinfo.out_color_components against state->xsize, state->…

  • 警告05:01脆弱性アドバイザリPythonGitHub Advisory Database

    AIOHTTP: Absolute-form request targets can spoof Request.scheme

    影響: pip:aiohttp <= 3.14.3 → 3.14.4 An attacker sending an absolute-form request can spoof the scheme used. Impact If user code depends on the Request.scheme attribute for anything security related, an attacker may be able to circumvent this logic, tricking the application into thinking a connection is encrypted when it is not, or vice versa. Workaround A WAF rule to reject absolute-form requests (legitimate requests should only use this form for proxies).

  • 警告04:57脆弱性アドバイザリPythonGitHub Advisory Database

    AIOHTTP: Connector pool exhaustion via Max-Age overflow

    影響: pip:aiohttp <= 3.14.3 → 3.14.4 An overflow in Max-Age processing can skip closing a connection. Impact An attacker may be able to exhaust the connection pool temporarily, until garbage collection resolves the connections.

  • 警告04:52脆弱性アドバイザリPythonGitHub Advisory Database

    AIOHTTP: Pure-Python parser request smuggling

    影響: pip:aiohttp <= 3.14.3 → 3.14.4 The pure Python parser is vulnerable to an HTTP request smuggling attack. Impact If users are using the Python parser (AIOHTTP_NO_EXTENSIONS, or not a standard wheel installed), then an application may be vulnerable to a request smuggling attack. Workaround Switch to the default C parser.

  • 重要04:52脆弱性アドバイザリPythonGitHub Advisory Database

    AIOHTTP: File descriptor exhaustion in multipart requests

    影響: pip:aiohttp >= 2.0.0, < 3.14.4 → 3.14.4 An attacker can exhaust file descriptors with specially crafted multipart requests. Impact If a handler uses Request.post(), it may be possible for an attacker to use an unlimited number of file descriptors, potentially resulting in resource exhaustion.

  • 緊急04:37脆弱性アドバイザリPythonGitHub Advisory Database

    uv's bundled CA store trusts an emSign root whose intermediate CA keys are compromised

    影響: pip:uv < 0.13.4 → 0.13.4 By default, uv verifies TLS connections against a vendored copy of the webpki-root-certs bundle. Versions before 0.13.4 include the emSign ECC Root CA - G3 root. Eight eMudhra intermediate CA certificates that chain to that root have compromised private keys, and the CA has revoked them. An attacker with one of the compromised keys can issue certificates that uv accepts for any hostname, and can be used to issue certificates to enable MITM attacks. uv 0.13.4 removes the root from its vendored b…

  • 緊急04:35脆弱性アドバイザリPythonGitHub Advisory Database

    certifi bundles emSign root CAs with compromised intermediate CA keys

    影響: pip:certifi >= 2019.03.09, < 2026.10.19 → 2026.10.19 Certifi versions before 2026.10.18 include the emSign ECC Root CA - G3 root certificate in their bundled CA store. Eight eMudhra intermediate CA certificates that chain to this root have compromised private keys and the CA has revoked them. An attacker with one of the compromised keys can issue valid-looking certificates for any hostname. If the attacker is also on-path, they can intercept or modify TLS traffic from clients that trust the certifi bundle. Examples include requests, urllib3 and p…

10月20日(火)

10月17日(土)

10月16日(金)

  • 警告05:22脆弱性アドバイザリPythonGitHub Advisory Database

    Pipecat: Public exposure of Pipecat’s development runner can allow unauthenticated bot session creation

    影響: pip:pipecat-ai >= 0.0.98, <= 1.5.0 → 1.6.0 Pipecat’s built-in development runner exposes endpoints that create bot sessions and, for the Daily transport, paid Daily rooms. These development endpoints intentionally do not authenticate callers. The runner binds to localhost by default and is designed exclusively for local development. It is not built or supported as a production server. Exploitation therefore requires an operator to deliberately make the development runner reachable from an untrusted network, such as by setting --host 0.0…

  • 警告05:22脆弱性アドバイザリPythonGitHub Advisory Database

    JupyterLab: Command link trust prompt in JupyterLab can trust a document other than the one clicked

    影響: pip:jupyterlab >= 4.6.0, <= 4.6.3 → 4.6.4, pip:jupyterlab >= 4.5.7, <= 4.5.10 → 4.5.11, pip:notebook >= 7.5.6, <= 7.6.2 → 7.6.3, pip:jupyterlite-core >= 0.7.5, <= 0.8.3 → 0.8.4 A Markdown file or a notebook output can carry a button that runs a JupyterLab command. Since 4.5.7 the first click on such a button opens a prompt naming the command, with Cancel, Run Once and Trust. Choosing Trust runs the command and marks the document trusted, so its later buttons run without a prompt. Which document gets marked is decided when the user answers, not when they click. Both trust commands read whichever document is current at that moment: markdownviewer:trust uses…