{"generated_at":"2026-10-23T15:00:22.399Z","count":9,"incidents":[{"id":"pillow-argument-injection-in-ghostscript-call-potentiall-cve-2026-112900","url":"https://pwned.coffee/i/pillow-argument-injection-in-ghostscript-call-potentiall-cve-2026-112900","title":"Pillow: Argument Injection in Ghostscript call, potentially leading into RCE","summary":"### Summary `PIL.EpsImagePlugin.Ghostscript()` builds the Ghostscript command line using the input file path (`fp.name`) **without sanitization**, placing it at `-f <infile>`. A filename beginning with `-` is interpreted by Ghostscript as an option, giving command-line argument injection; chainable to RCE (see Impact). Reproduces with Pillow's default…","severity":"critical","patch_status":"patched","status":"live","exploited":false,"affected":"Pillow (pip)","fixed_versions":["Pillow 13.0.0"],"ids":["CVE-2026-112900"],"stack":["pypi","python"],"first_seen":"2026-10-21T19:58:44Z","updated_at":"2026-10-23T11:17:10.261Z"},{"id":"pillow-multi-frame-loaders-can-reuse-stale-native-image-cve-2026-96639","url":"https://pwned.coffee/i/pillow-multi-frame-loaders-can-reuse-stale-native-image-cve-2026-96639","title":"Pillow multi-frame loaders can reuse stale native image storage after mode transitions","summary":"### Summary Pillow multi-frame image loaders can retain native `ImagingCore` storage allocated for one frame while changing the Python-side image `mode` and decoder tiles for a later frame. If frame 0 allocates storage for a narrow mode such as `L`, and a later frame of the same dimensions switches to a wider mode such as `RGB` or `CMYK`, Pillow may…","severity":"critical","patch_status":"patched","status":"live","exploited":false,"affected":"Pillow (pip)","fixed_versions":["Pillow 13.0.0"],"ids":["CVE-2026-96639"],"stack":["pypi","python"],"first_seen":"2026-10-22T16:00:15Z","updated_at":"2026-10-22T16:00:15Z"},{"id":"pillow-heap-buffer-overflow-in-tiffwriteproc-when-saving-cve-2026-112393","url":"https://pwned.coffee/i/pillow-heap-buffer-overflow-in-tiffwriteproc-when-saving-cve-2026-112393","title":"Pillow: Heap buffer overflow in _tiffWriteProc when saving TIFF to BytesIO","summary":"``` ============================================================================ Heap buffer overflow in _tiffWriteProc when saving TIFF to BytesIO Location: src/libImaging/TiffDecode.c:94 in _tiffWriteProc() Commit: a707c6b21c313880d0771e54965d142dd42358b6 ============================================================================ ``` Pillow can write…","severity":"critical","patch_status":"patched","status":"live","exploited":false,"affected":"Pillow (pip)","fixed_versions":["Pillow 13.0.0"],"ids":["CVE-2026-112393"],"stack":["pypi","python"],"first_seen":"2026-10-21T21:28:09Z","updated_at":"2026-10-21T21:28:09Z"},{"id":"pillow-heap-buffer-overflow-in-imagingjpegdecode-cve-2026-112403","url":"https://pwned.coffee/i/pillow-heap-buffer-overflow-in-imagingjpegdecode-cve-2026-112403","title":"Pillow: Heap buffer overflow in ImagingJpegDecode","summary":"## Summary `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()`,…","severity":"critical","patch_status":"patched","status":"live","exploited":false,"affected":"Pillow (pip)","fixed_versions":["Pillow 13.0.0"],"ids":["CVE-2026-112403"],"stack":["pypi","python"],"first_seen":"2026-10-20T20:40:07Z","updated_at":"2026-10-20T20:40:07Z"},{"id":"langflow-os-command-injection-rce-via-arbitrary-command-cve-2026-105697","url":"https://pwned.coffee/i/langflow-os-command-injection-rce-via-arbitrary-command-cve-2026-105697","title":"Langflow: OS command injection (RCE) via arbitrary command in MCP stdio server configuration","summary":"### Summary Before **Langflow 1.10.3**, the MCP stdio transport launched whatever `command` / `args` a user put in an MCP server configuration, with no allowlist and (before 1.10.3) wrapped in `bash -c \"exec {command} ...\"`. Any user able to reach the MCP server settings (\"Settings → MCP Servers → Add MCP Server\", `POST/PATCH…","severity":"critical","patch_status":"patched","status":"past","exploited":false,"affected":"langflow (pip), langflow-base (pip), lfx (pip)","fixed_versions":["langflow 1.10.3","langflow-base 0.10.3","lfx 1.10.3"],"ids":["CVE-2026-105697"],"stack":["pypi","ai-gateways"],"first_seen":"2026-10-07T20:36:35Z","updated_at":"2026-10-07T20:36:35Z"},{"id":"langflow-pythonreplcomponent-executes-unsandboxed-python-cve-2026-10561","url":"https://pwned.coffee/i/langflow-pythonreplcomponent-executes-unsandboxed-python-cve-2026-10561","title":"Langflow: PythonREPLComponent executes unsandboxed Python code, enabling authenticated RCE and privilege escalation","summary":"### Summary Langflow's built-in Python interpreter components — `PythonREPLComponent` (Python Interpreter) and the legacy `PythonREPLToolComponent` (Python REPL Tool) — executed arbitrary user- or model-supplied Python code inside flows without effective sandboxing. Because the code ran in-process with the privileges of the Langflow service, any…","severity":"critical","patch_status":"patched","status":"past","exploited":false,"affected":"langflow (pip)","fixed_versions":["langflow 1.10.1"],"ids":["CVE-2026-10561"],"stack":["pypi","ai-gateways","python"],"first_seen":"2026-10-06T13:38:28Z","updated_at":"2026-10-06T13:38:28Z"},{"id":"langflow-weak-fernet-key-via-random-seed-cve-2026-9205","url":"https://pwned.coffee/i/langflow-weak-fernet-key-via-random-seed-cve-2026-9205","title":"Langflow: Weak Fernet Key via random.seed()","summary":"### Summary Langflow uses Python's `random` module (Mersenne Twister, a non-cryptographic PRNG) seeded with the `SECRET_KEY` to derive the Fernet encryption key for all stored user credentials (API keys, LLM provider secrets, database passwords). When the `SECRET_KEY` is shorter than 32 characters — a common scenario for self-hosted deployments using…","severity":"critical","patch_status":"patched","status":"past","exploited":false,"affected":"langflow (pip)","fixed_versions":["langflow 1.10.1"],"ids":["CVE-2026-9205"],"stack":["pypi","ai-gateways"],"first_seen":"2026-10-05T22:31:35Z","updated_at":"2026-10-05T22:31:35Z"},{"id":"langflow-unauthenticated-flow-execution-via-webhook-auth-cve-2026-8505","url":"https://pwned.coffee/i/langflow-unauthenticated-flow-execution-via-webhook-auth-cve-2026-8505","title":"Langflow: Unauthenticated Flow Execution via Webhook Authentication Bypass","summary":"### Summary A vulnerability in Langflow's webhook authentication logic allows unauthenticated users to trigger the execution of any flow. The system incorrectly bypasses API key validation when the `WEBHOOK_AUTH_ENABLE` configuration is set to `False`. This allows a remote attacker who knows a flow's UUID to execute it as if they were the owner,…","severity":"critical","patch_status":"patched","status":"past","exploited":false,"affected":"langflow (pip)","fixed_versions":["langflow 1.9.1"],"ids":["CVE-2026-8505"],"stack":["pypi","ai-gateways"],"first_seen":"2026-10-05T22:31:22Z","updated_at":"2026-10-05T22:31:22Z"},{"id":"vibe-trading-fastapi-endpoints-permit-unauthenticated-access-file-upload","url":"https://pwned.coffee/i/vibe-trading-fastapi-endpoints-permit-unauthenticated-access-file-upload","title":"Vibe-Trading FastAPI endpoints permit unauthenticated access, file upload, and an RCE chain","summary":"### Summary: 5 findings — unauthenticated full-API exposure (F1, lead Critical), read-side authorization gap that persists even with `API_AUTH_KEY` set (F2), unauthenticated file write of `.py`/`.sh`/`.yaml` to a server-returned path (F3), default-permissive CORS that combines with a loopback-only check to grant any browser page on whitelisted localhost…","severity":"critical","patch_status":"patched","status":"past","exploited":false,"affected":"vibe-trading-ai (pip)","fixed_versions":["vibe-trading-ai 0.1.7"],"ids":[],"stack":["pypi","python"],"first_seen":"2026-10-02T22:44:26Z","updated_at":"2026-10-02T22:44:26Z"}]}