37042 matches found
GHSA-CW65-GX24-RC82 virtualenv: Builtin creation follows linked environment directories
Summary The builtin creator accepts existing directory symlinks through ensuredir and writes environment files through those directories. This permits writes outside the requested destination. Anthropic's OSS Scanner reported this as ANT-2026-MUFJEG11 in virtualenv-20261015-005, received on 15...
GHSA-43MP-35Q3-X3FQ virtualenv: Deletion recovery can change a symlink target's mode
Summary The deletion error handler obtains permission bits with lstat but applies them through chmod, which follows symlinks. On an eligible unlink failure this can change permissions outside the destination. Anthropic's OSS Scanner reported this as ANT-2026-UK90QC27 in virtualenv-20261015-005,...
GHSA-C978-59M8-C77V virtualenv: Generated POSIX console launchers interpret destination paths as shell syntax
Summary A destination path supplied to virtualenv can be interpreted as shell syntax by a generated POSIX console launcher. The app-data seeder and pip delegate launcher generation to distlib but supply the interpreter path in a form that does not preserve it as literal data in the shell wrapper...
GHSA-XVH5-G6GV-559V 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 PyImagingLibTiffEncoderNew Commit: a707c6b21c313880d0771e54965d142dd42358b6...
GHSA-332P-7HRC-92WF Pillow: Heap buffer overflow in _tiffWriteProc when saving TIFF to BytesIO
============================================================================ Heap buffer overflow in tiffWriteProc when saving TIFF to BytesIO Location: src/libImaging/TiffDecode.c:94 in tiffWriteProc Commit: a707c6b21c313880d0771e54965d142dd42358b6...
GHSA-4RR5-89J8-MWWM Pillow: Heap use-after-free when encoding TIFF to an in-memory buffer
Summary Saving an image as TIFF to an in-memory buffer can trigger a heap use-after-free if libtiff rejects a tag at encode time. When TIFFWriteScanline fails, the encoder frees its output buffer but leaves the libtiff handle open. Later, when the encoder object is torn down, TIFFClose flushes...
GHSA-F2G6-542V-9J58 Pillow: Infinite loop in PdfParser.rewrite_pages on page tree Parent cycle
============================================================================ Infinite loop in PdfParser.rewritepages on page tree Parent cycle Location: src/PIL/PdfParser.py:505 in PdfParser.rewritepages Commit: a707c6b21c313880d0771e54965d142dd42358b6...
GHSA-GG2R-WVFM-Q9RX Pillow: MSP RLE decoder expands a tiny file into unbounded memory
Summary The MSP RLE decoder expands run-length data into an in-memory buffer with no cap tied to the declared image size. A small file that passes the pixel-count check can force hundreds of megabytes or more of allocation when the application loads pixels. Details The MSP decoder writes each run...
GHSA-JG86-V3JV-HRPM Pillow: Quadratic-time DoS in PDF save_all (PdfParser.next_object_id)
============================================================================ Quadratic-time DoS in PDF saveall PdfParser.nextobjectid Location: src/PIL/PdfParser.py:629 in nextobjectid Commit: a707c6b21c313880d0771e54965d142dd42358b6...
GHSA-254F-3936-288H Pillow: PdfParser can recurse without limit in get_value() and linearize_page_tree()
Summary PdfParser's getvalue can recurse without any limit and crash with an uncaught RecursionError. It is reachable through Image.saveim, fp=, format="PDF", append=True when the existing PDF file is attacker-controlled. This is the same class of bug as...
GHSA-XGH8-JP6Q-P5X8 Pillow: ReDoS in XbmImagePlugin: 512-byte file stalls Image.open() for minutes
============================================================================ ReDoS in XbmImagePlugin: 512-byte file stalls Image.open for minutes Location: src/PIL/XbmImagePlugin.py:58 in XbmImageFile.open Commit: a707c6b21c313880d0771e54965d142dd42358b6...
GHSA-RFGQ-Q3W2-PMV2 Pillow: Image.quantize() with empty palette leaks uninitialized stack memory
============================================================================ Image.quantize with empty palette leaks uninitialized stack memory Location: src/libImaging/Palette.c:216 in ImagingPaletteCacheUpdate Commit: a707c6b21c313880d0771e54965d142dd42358b6...
GHSA-74R2-7FF9-MJJ2 Pillow: Quadratic GIF comment concatenation allows DoS in Image.open()
============================================================================ Quadratic GIF comment concatenation allows DoS in Image.open Location: src/PIL/GifImagePlugin.py:266 in GifImageFile.seek Commit: a707c6b21c313880d0771e54965d142dd42358b6...
GHSA-22HG-R758-RRW9 Pillow: Infinite loop in MIC n_frames when the embedded TIFF
============================================================================ Infinite loop in MIC nframes when the embedded TIFF has 3+ IFDs Location: src/PIL/MicImagePlugin.py:86 in MicImageFile.tell Commit: a707c6b21c313880d0771e54965d142dd42358b6...
GHSA-FC9G-5QG7-MF45 Pillow: Quadratic GIF comment copying during save
On Pillow 12.3.0 and upstream main ad277e2761b489681e71b51e91367d46b0ceabb9, a GIF with a long comment makes getglobalheader copy portions of the comment repeatedly when saving, including comments carried over from untrusted images. I suggest provisional Moderate severity for crafted-image CPU...
GHSA-27H8-GF7J-V5HC Pillow: NULL dereference in ImagingExpand via rank filters on zero-size images
============================================================================ NULL dereference in ImagingExpand via rank filters on zero-size images Location: src/libImaging/Filter.c:79 in ImagingExpand Commit: a707c6b21c313880d0771e54965d142dd42358b6...
GHSA-CP9V-662Q-VVX9 Pillow: NULL pointer dereference in Image.merge via an unvalidated band 0
Summary Image.merge checks the mode of every input band except band 0. If band 0 is a single-band I or F image, the native merge routine reads a pixel pointer that is NULL for those modes and the process crashes. The IPTC plugin reaches this from a plain Image.open followed by a load, and IPTC ha...
GHSA-J4M9-6W36-PW47 Pillow: Invalid free in FreeType glyph rendering when a stroker is active
Summary When text is drawn with a non-zero stroke width, Pillow creates a FreeType stroker and then loads each glyph. If FTLoadGlyph fails for a glyph, the cleanup path calls FTDoneGlyph on the glyph variable. That variable is not initialized before the first measurement loop, and in the render...
GHSA-7MWM-GHPF-9VRM Pillow: Double free in ImagingScaleAffine on calloc failure via Image.transform
============================================================================ Double free in ImagingScaleAffine on calloc failure via Image.transform Location: src/libImaging/Geometry.c:866 in ImagingScaleAffine Commit: a707c6b21c313880d0771e54965d142dd42358b6...
GHSA-4558-3H8R-V8XP Pillow: P;2L and P;4L decoders may read 1 to 3 bytes past the passed buffer size
Summary On main, even with the guard in 9725, it's possible to have these decoders read 1 to 3 bytes past the end of the passed buffer with a suitable width/height. Details ImagingRawDecode and the P;2L / P;4L unpackers disagree about how many bytes a line of data occupies. The raw decoder derive...
GHSA-W889-685W-C8FH Pillow: Argument Injection in Ghostscript call, potentially leading into RCE
Summary PIL.EpsImagePlugin.Ghostscript builds the Ghostscript command line using the input file path fp.name without sanitization, placing it at -f . A filename beginning with - is interpreted by Ghostscript as an option, giving command-line argument injection; chainable to RCE see Impact...
GHSA-5HX5-VPF9-5WCV pypdf: Unvalidated JPEG image data loading
Impact An attacker who uses this vulnerability can craft a PDF which leads to arbitrary image parsers being called. This requires loading an image which claims to use the /DCTDecode filter JPEG data. Users which do not have the optional Pillow dependency installed in their environment are not...
GHSA-XP26-3454-MJGP Vitest: Windows backslash traversal bypasses the @vitest/mocker redirect allowlist fix
Summary The path traversal fix released for GHSA-82fw-gwwq-j7x9 can be bypassed on Windows by using a backslash in the redirect URL pathname. The fixed code joins an attacker-controlled URL pathname with the Vite root using node:path/posix, then passes that string to Vite's file allowlist check. ...
GHSA-3X84-QQ85-FJ65 OpenClaw: Browser CDP discovery could accept blocked WebSocket URLs
Summary Browser CDP discovery could accept blocked WebSocket URLs. In affected versions, a lower-trust caller or configured input path could reach network destinations that should have been blocked by OpenClaw policy. This advisory is scoped to the named feature and configuration. It does not...
GHSA-F2PH-CMG5-WXC8 Storybook: Missing origin validation in Storybook preview allows code injection from malicious websites
Summary: A malicious website may be able to cause unauthorized file changes in a developer’s project while an affected Storybook development server is running. Under additional conditions, a changed file could be executed by a local runtime with the developer’s privileges. We are not aware of...
GHSA-FW47-9C62-H3VW Electron: HID and USB permission checks can be attributed to the wrong origin
Impact For hid and usb permission checks made from an iframe, session.setPermissionCheckHandler was given the top-level frame's origin and details instead of the requesting frame's. Apps that allow these permissions based on origin could grant an embedded frame access intended for the top-level...
GHSA-R57G-MC79-8HJ2 djust: Arbitrary absolute-path file read in the find_handlers_for_template MCP tool
Affected version / file / line Version: djust v1.1.4 latest release, published 2026-09-23. File: python/djust/mcp/server.py:354-433 MCP tool findhandlersfortemplate. Confirmed identical on the commit used for triage, a7e4fafd1667b4db0b1465652d4a63cb17117a07. Description @mcp.tool def...
GHSA-F66C-MPJ2-3R8H ApostropheCMS: POST /api/v1/@apostrophecms/doc/slugTaken discloses existence of private/admin-only content to any authenticated user
Summary The slugTaken endpoint returns a boolean indicating whether a slug is in use across all document types and visibility levels, with no permission or type filter. Any logged-in user including editors can enumerate the slug space of private pages, drafts, and archived content. Details POST...
GHSA-VH56-5M88-39RQ ApostropheCMS: GET /api/v1/@apostrophecms/page/:id bypasses viewRole restriction and exposes viewPermission-gated fields to lower-privileged users
Summary The getOne REST endpoint for pages does not apply viewRole type-level restrictions or viewPermission field-level redaction. An editor-level user who knows a document id can read the full content of admin-only pages and their privileged fields, while the getAll endpoint correctly enforces...
GHSA-7JG5-FRGC-C67W ApostropheCMS: Stored XSS via Unescaped Widget Style Attribute Serialization
Summary ApostropheCMS widget styles support project-defined schema fields. If a project defines a free-form string style field with a CSS property and no selector, an editor-controlled value is rendered as an inline CSS declaration. The resulting declaration is then inserted into the widget...
GHSA-RW26-WWFC-9WVM ApostropheCMS: Missing Authentication in `cleanExport` Route
Summary The API endpoint POST /api/v1/@apostrophecms/import-export/clean-export in @apostrophecms/import-export lacks authentication and authorization checks. Any client—including unauthenticated anonymous users who have obtained the standard CSRF cookie from visiting the site—can directly...
GHSA-RQGM-CFRP-4HX8 ApostropheCMS: Unauthenticated publicApiProjection bypass via search and sort query builders in the public REST API
Summary ApostropheCMS lets a module expose an anonymous read API by setting publicApiProjection, which whitelists the document fields unauthenticated callers may see. The public REST GET handler applies every launderable query builder from the query string before forcing that projection. Two of...
GHSA-VMGJ-9CWM-CF3H ApostropheCMS: Color field validation bypass allows stored XSS via HTML appended after rgb()/hsl() prefix
Summary The color field accepts any string that begins with a valid rgb / hsl color, because TinyColor.isValid does not anchor its match at the end of the string. An authenticated user with edit rights can store arbitrary HTML after a valid color prefix. When the stored value is rendered , the...
GHSA-C9RX-X947-FP3H ApostropheCMS sanitize-html: unbounded recursion when re-sanitizing the fallback of a discarded iframe (stack overflow, nestingLimit not enforced)
Summary Since 2.18.0, when an is not allowed and disallowedTagsMode is 'discard' the defaults, its raw-text content is re-sanitized by a recursive call to sanitizeHtmltext, options the change from 5564, fixing 5550. The recursion has no bound and starts each nested call with a fresh state. Two...
GHSA-5M22-7PFQ-VP65 ApostropheCMS: Import API bypasses publication roles for protected content
Review scope and evidence limits Package: @apostrophecms/import-export, version 3.7.0. Release tag reviewed: @apostrophecms/[email protected], commit 9500b8b0e1d630d5e07fbb5fd2c25ed0943845ce September 30, 2026. Current main reviewed: 5ce3732be0ebdebb4db0f8ef160c81e8671157e6. The importer, gzip...
GHSA-JF5H-36MG-RP6X ApostropheCMS: Archive duplicate continuation lets contributors overwrite published content
Review scope and evidence limits Package: @apostrophecms/import-export, version 3.7.0. Release tag reviewed: @apostrophecms/[email protected], commit 9500b8b0e1d630d5e07fbb5fd2c25ed0943845ce September 30, 2026. Current main reviewed: 5ce3732be0ebdebb4db0f8ef160c81e8671157e6. The importer, gzip...
GHSA-9G7P-M758-RP72 ApostropheCMS: Import archives can exhaust server storage and deny service
Review scope and evidence limits Package: @apostrophecms/import-export, version 3.7.0. Release tag reviewed: @apostrophecms/[email protected], commit 9500b8b0e1d630d5e07fbb5fd2c25ed0943845ce September 30, 2026. Current main reviewed: 5ce3732be0ebdebb4db0f8ef160c81e8671157e6. The importer, gzip...
GHSA-QFV9-64JG-MH7P pypdf: Possible infinite loop in PdfWriter.find_outline_item
Impact An attacker who uses this vulnerability can craft a PDF which leads to an infinite loop. This requires calling findoutlineitem on a PdfWriter. Patches This has been fixed in pypdf==6.20.1. Workarounds If you cannot upgrade yet, consider applying the changes from PR 4188...
GHSA-9MX8-4J7G-633P pypdf: Possible infinite loop when removing tree items
Impact An attacker who uses this vulnerability can craft a PDF which leads to an infinite loop. This requires removing an object from a tree, for example an outline item. Patches This has been fixed in pypdf==6.20.1. Workarounds If you cannot upgrade yet, consider applying the changes from PR 418...
GHSA-VXJ4-Q4G9-CRJ7 virtualenv bash activate runs commands from an environment name with a backslash before $
Summary 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...
GHSA-7MH2-4GG2-979F pypdf: Possible large memory usage for streams with multiple filters
Impact 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. Workarounds If you...
GHSA-9JRQ-W75R-8GCW Vite: Cross origin script execution through Vite custom middleware
Summary When accessing a malicious site while a dev server using Vite is running, that site was able to load scripts in a page served by the dev server. Impact Only apps that match the following conditions are affected: - the dev server passes an unchanged browser request URL to...
GHSA-RQ7H-C2JC-7F22 Vite: Files outside `server.fs.allow` could be served when project paths match system paths on non-Windows machine
Summary The content of files outside server.fs setting can be returned to the browser if the project imports a file path concatenated with the root. For example, if the project references /etc/hosts, the content of /etc/hosts was possible to be returned. The content of files outside the...
GHSA-VFPM-58RQ-9QCG Vite: First 4 bytes of files outside of `server.fs` setting is exposed by `?vite-wasm-instance`
Summary The first 4 bytes of files outside of server.fs setting can be returned to the browser by a request containing ?vite-wasm-instance. Impact Only apps that match one of the following conditions are affected: - explicitly expose the Vite dev server to the network using --host or the...
GHSA-5VJQ-RRRF-7H2Q virtualenv activate runs commands from the environment name in zsh with PROMPT_SUBST
Impact 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 BASHVERSION is set, so zsh gets the raw value. With the PROMPTSUBST option set, zs...
GHSA-C947-3PG5-GM8Q virtualenv activate.fish runs commands from a path or prompt with a backslash before a quote
Impact FishActivator defines no quote, so it inherits ViaTemplateActivator.quote, which returns shlex.quotestring. 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...
GHSA-8RJX-V5WW-45PP virtualenv activation scripts run code from a path that contains a placeholder name
Impact ViaTemplateActivator.instantiatetemplate 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...
GHSA-CRWC-VW2R-QR6M OGNL stricter-invocation block list bypass via java.lang.reflect reflection proxies
Summary OGNL's optional stricter invocation mode maintains a block list that prevents expressions from directly calling methods on dangerous classes such as Runtime, ProcessBuilder, and ClassLoader. The block list filters on the declaring class of the method OGNL invokes. Because...
GHSA-46R4-Q7WV-32FC OpenChoreo: Authorization bypass on WorkflowRun update allows cross-project takeover of workflow runs
Summary The OpenChoreo API server authorized PUT .../workflowruns/runName against ownership metadata taken from the request body, while the object it actually mutated was selected by the URL path. Nothing forced the two to agree. A WorkflowRun's membership in a project and component is carried...
GHSA-5588-RP99-5FJH Moov signedxml: Unauthenticated denial of service in exclusive XML canonicalization
Exclusive XML canonicalization http://www.w3.org/2001/10/xml-exc-c14n in github.com/moov-io/signedxml copied the entire accumulated namespace map at every node during ValidateReferences, before any reference digest or signature check. For a chain of nested elements that each declare many unused...