Read the docs
TI-2026-67048 Aliases GHSA-52vm-mxx8-f227

Phantom: Arbitrary file write and decode-bomb DoS via unconfined MCP tool paths

Priority LOW 38CWE-22Published · Updated

Key facts

Attack vector
—
Privileges required
—
User interaction
—
Attack complexity
—
Impact type
Denial of service
Confidentiality · integrity · availability
—
Fix status
Fixed

No CVSS vector from any source. Fix status from GitHub. Impact type from CWE-400.

Summary

### Impact In 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. Separately, 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. ### Patches Fixed in **1.3.1**: - File writes are always confined to `PHANTOM_OUTPUT_DIR` (default `~/.phantom/output`); symlinks resolved and re-verified on the final path. - Decode/duration/size guards mirrored onto the separation and render paths (plus ffmpeg `-max_alloc`/`-t`/`-fs`). - Atomic `O_CREAT|O_EXCL` output creation in reference matching and symlink-TOCTOU hardening on confined input reads. ### Workarounds Set `PHANTOM_OUTPUT_DIR` (and optionally `PHANTOM_AUDIO_DIR`) to dedicated directories before starting the server. ### Credit Found during an internal security audit.

Why it matters now

Fix Fixed phantom-audio (PyPI): 1.3.1

SSVC decision points

Not available: CISA has not published SSVC decision points for this record.

Affected products

VendorProductAffected versionsFixed inStatusSource
—phantom-audio (PyPI)before 1.3.11.3.1Patch availableGHSA-52vm-mxx8-f227
  • phantom-audio (PyPI) Vendor— Affected before 1.3.1 Fixed in 1.3.1 Patch available GHSA-52vm-mxx8-f227

Remediation

  • Fix · GHSA-52vm-mxx8-f227 phantom-audio (PyPI) Fixed in 1.3.1 Advisory →

Timeline

  1. 2026-10-03 Threatist record created from GHSA-52vm-mxx8-f227

References

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences