{"generated_at":"2026-10-23T14:52:56.186Z","count":7,"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":"flowise-prompt-injection-to-rce-and-ssrf-via-csv-airtabl-cve-2026-73487","url":"https://pwned.coffee/i/flowise-prompt-injection-to-rce-and-ssrf-via-csv-airtabl-cve-2026-73487","title":"Flowise Prompt Injection to RCE and SSRF via CSV/Airtable Agent Python Validator Bypass","summary":"## Summary Flowise <= 3.1.2 CSV Agent and Airtable Agent nodes use a regex-based blocklist (`validatePythonCodeForDataFrame()`) to sanitize LLM-generated Python code before execution in Pyodide. The validator has multiple structural bypasses that allow an attacker to exfiltrate all loaded data to an external server, perform SSRF against internal…","severity":"critical","patch_status":"patched","status":"past","exploited":false,"affected":"flowise (npm), flowise-components (npm)","fixed_versions":["flowise 3.1.3","flowise-components 3.1.3"],"ids":["CVE-2026-73487"],"stack":["npm","python"],"first_seen":"2026-10-07T16:17:21Z","updated_at":"2026-10-07T16:17:21Z"},{"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":"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"}]}