{"items":[{"id":"NVI-00017508","kind":"vulnerability","title":"Phantom: Arbitrary file write and decode-bomb DoS via unconfined MCP tool paths","revision":1,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-52vm-mxx8-f227"],"plain_summary":"GitHub lists this reviewed advisory for phantom-audio. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-0e0a61e79fc6b5f856ba92fcf53a8625"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[{"kind":"CVSS","as_of":"2026-07-09T13:37:35.000Z","value":"7.7 high","meaning":"GitHub source severity; exploitability and local consequence require separate evidence.","source_id":"sr-0e0a61e79fc6b5f856ba92fcf53a8625"}],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-0e0a61e79fc6b5f856ba92fcf53a8625","url":"https://github.com/advisories/GHSA-52vm-mxx8-f227","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-52vm-mxx8-f227","publisher":"GitHub Advisory Database","observed_at":"2026-11-04T23:34:40.400Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-0e0a61e79fc6b5f856ba92fcf53a8625"],"technology":"phantom-audio","known_exclusions":[],"conditions_summary":"### Impact\n\nIn Phantom <= 1.3.0, when `PHANTOM_OUTPUT_DIR` was unset (the default), the MCP tools accepted arbitrary absolute output paths with no confinement. Anything able to send tool calls (e.g. an AI agent driving the MCP interface) could **write or overwrite arbitrary files** the process user can write — including shell startup files (`~/.zshrc`) or a Reaper `__startup.lua`, which is effectively local code execution on a developer workstation.\n\nSeparately, the stem-separation and render paths decoded input audio with no size/duration cap (the analysis path was already guarded). A small, highly compressed FLAC/OGG could expand to multi-gigabyte PCM, causing memory-exhaustion DoS, and widened exposure to decoder bugs including libsndfile CVE-2026-37555.\n\n### Patches\nFixed in **1.3.1**:\n- File writes are always confined to `PHANTOM_OUTPUT_DIR` (default `~/.phantom/output`); symlinks resolved and re-verified on the final path.\n- Decode/duration/size guards mirrored onto the separation and render paths (plus ffmpeg `-max_alloc`/`-t`/`-fs`).\n- Atomic `O_CREAT|O_EXCL` output creation in reference matching and symlink-TOCTOU hardening on confined input reads.\n\n### Workarounds\nSet `PH","public_affected_ranges":["<= 1.3.0"]}],"null_published_at":"2026-11-05T19:10:21.400Z","source_updated_at":"2026-07-09T13:37:35.000Z","source_disclosed_at":"2026-07-09T13:37:34.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"First indexed by Null; source disclosure date is shown separately.","null_first_observed_at":"2026-11-04T23:34:40.400Z"}],"next_cursor":null,"snapshot_revision":"42594"}