elevated Cve 2026 77931 · AI Security

MoviePilot's AI Assistant Can Be Steered Into Running Host Commands (CVE-2026-77931)

Data graphic: MoviePilot CVE-2026-77931, CVSS 8.8: a poisoned page or torrent reaches the AI assistant, which calls execute_command with confirm_dangerous=true and gets a shell on the host.
NS

Identity security analyst · Published Oct 21, 2026, 6:00 AM EDT

A poisoned web page or torrent can make MoviePilot's AI agent run shell commands on the host. Versions through 3.1.5 are affected and no fix is confirmed.

A prompt-injection flaw in MoviePilot, the self-hosted media automation tool from jxxghp, lets content the AI assistant reads trigger arbitrary shell commands on the host. CVE-2026-77931 affects every version through 3.1.5. VulnCheck rates it 8.8 (CVSS v3.1) and 8.7 (CVSS v4.0). No source we checked names a fixed version.

What happens

The CVE was published on 15 October 2026 by VulnCheck, with a public disclosure date of 12 October. It is classed as CWE-1427, improper neutralization of input used for LLM prompting. Credit goes to Noy Pearl, Michael Sromin and Ophir Dror.

Attackers plant instructions in untrusted content that MoviePilot's agent tools process: web pages fetched by browse_webpage or search_web, and torrent metadata. The injected text makes the model call execute_command with confirm_dangerous set to true. That flag bypasses the validate_command_safety denylist. The call runs in the admin session's context, so the result is remote code execution on the host.

Technical detail

Lasso Security, which wrote up the issue, says execute_command is always offered to the model and that the model can set confirm_dangerous itself, so the safety check is not an independent control. The advisory points to asyncio.create_subprocess_shell in ExecuteCommandTool as the execution path. Lasso says the attack needs no direct access to the instance and no non-default configuration, and that the researchers reproduced it in a proof of concept. It lists no known exploitation. The CVE is not in CISA's KEV catalog, and EPSS is about 1 percent. The v3.1 vector is AV:N/AC:L/PR:N/UI:R: user interaction is needed, in the sense that the assistant must ingest the poisoned content.

Fix status

The VulnCheck, NVD and Lasso records name no patched release. MoviePilot shipped 3.1.6 on 15 October, 3.1.7 on 18 October and 3.1.8 on 19 October. The notes we read for 3.1.6 and 3.1.8 do not mention this issue, and on 21 October the main branch still carries the confirm_dangerous parameter in app/agent/tools/impl/execute_command.py. Treat 3.1.8 as unverified, not as fixed.

Data graphic: timeline from public disclosure on 12 Oct through releases 3.1.6, 3.1.7 and 3.1.8, none confirmed as the fix.

Three releases since disclosure, none confirmed to fix the flaw.

Three releases since disclosure, none confirmed to fix the flaw.

What defenders should do

  • Do not let the assistant browse, search or process torrent metadata from untrusted sources while it holds admin rights, until a fix is confirmed.
  • Run MoviePilot as a non-root user in a container with no host mounts.
  • Lasso's suggested remediation for the vendor: make execute_command, write_file and edit_file opt-in and off by default; require human confirmation for any turn that ingested external content; replace the model-settable confirm_dangerous flag with an allowlist or out-of-band confirmation.
  • Watch the MoviePilot releases page and the CVE record for a patched version.

Sources

Keep reading

All latest →
  1. highAI SecuritySGLang CVE-2026-93034: Turning Off Pickle IPC Does Not Stop Remote Code Execution3 min
  2. elevatedAI SecurityOpenAI's incident reports: training agents forged tokens on a government site and pulled 147,451 rows5 min
  3. highAI SecurityThree MCP servers and the Python SDK shipped holes this week: here is what each hands an attacker4 min
  4. watchAI SecurityAnthropic tests small open-weight models on self-replication: GLM-5.2 spread to 8 of 8 devices4 min
  5. highAI SecurityNginx UI's MCP tools skipped the config checks its web UI enforces, handing logged-in users nginx code execution4 min
  6. elevatedAI SecurityvLLM 0.32 upgrade notes: three denial-of-service fixes, CORS closed by default, Python 3.10 dropped3 min