Skip to main content

MoviePilot CVE-2026-77931

| EUVDEUVD-2026-101806 HIGH
Improper Neutralization of Input Used for LLM Prompting (CWE-1427)
2026-10-15 VulnCheck GHSA-f3rc-mp36-mqvp
8.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Plant malicious instructions in webpage or torrent metadata
  2. Delivery
    Admin agent ingests untrusted content
  3. Exploit
    Prompt injection instructs model to call execute_command
  4. Execution
    Model sets confirm_dangerous=true, bypassing denylist
  5. Impact
    Arbitrary OS commands run via create_subprocess_shell as admin

Vulnerability Assessment

Weakness
CWE
Exploitation Conditions

Requires MoviePilot (through 3.1.5) to be deployed with its LLM agent features that ingest untrusted external content - specifically browse_webpage, search_web, or torrent metadata parsing - and the unrestricted ExecuteCommandTool (execute_command via asyncio.create_subprocess_shell) must be reachable by the agent. Exploitation is limited by the need for an admin to actually invoke the agent against attacker-controlled content (reflected as UI:P in the CVSS vector) and by the probabilistic nature of prompt injection: the model must be successfully coerced into setting confirm_dangerous=true to bypass the validate_command_safety denylist. The attacker needs no MoviePilot credentials, but privilege for the resulting command execution is inherited from the admin session's is_admin context.

Impact

Signals point to a genuine but conditionally-gated high-severity issue rather than a mass-exploitation emergency. The CVSS 4.0 base score of 8.7 is driven by total impact (VC:H/VI:H/VA:H) via network vector with low complexity and no attacker authentication (PR:N), reflecting that the malicious payload is planted in untrusted external content the attacker never needs an account to supply. The one gating factor in the vector is UI:P (passive user interaction): an admin must actually run MoviePilot's AI agent against attacker-controlled content for the injected instructions to reach ExecuteCommandTool. No EPSS score, SSVC decision, KEV listing, or POC indicator was provided in the input, so exploitation probability and automatability cannot be quantified from the data - treat the absence of these as missing data, not as evidence of low risk. The vulnerability class (CWE-1427, LLM prompt injection) means exploitation reliability depends on the model consistently obeying injected instructions to set confirm_dangerous=true and bypass validate_command_safety, which is inherently less deterministic than a memory-corruption exploit; this argues for a lower real-world hit rate than the raw score suggests. Net: a legitimate priority for anyone running MoviePilot with its AI/agent features enabled, but not an indiscriminately wormable internet-wide threat, and no public exploit has been confirmed.

Exploit ScenarioDerived

An attacker publishes a webpage or seeds a torrent whose metadata embeds hidden instructions. When a MoviePilot admin uses the AI agent to browse_webpage, search_web, or parse that torrent metadata, the model is manipulated into calling execute_command with confirm_dangerous set to true, which bypasses the denylist and runs arbitrary OS commands on the host under the admin session's is_admin context. No public exploit code was identified at time of analysis, but the attack path is fully described in the advisory.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 1.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 15, 2026

Arbitrary OS command execution on hosts running MoviePilot through 3.1.5 is achievable when the product's LLM agent ingests attacker-controlled content via browse_webpage, search_web, or torrent metadata parsing and is induced to call the unrestricted ExecuteCommandTool, which runs shell commands through asyncio.create_subprocess_shell under the admin session's is_admin context. The flaw is a prompt-injection-to-RCE chain (CWE-1427) that bypasses the validate_command_safety denylist by setting confirm_dangerous=true; the attacker needs no MoviePilot credentials (CVSS PR:N), but an administrator must interact with the poisoned content (UI:P in CVSS:4.0, UI:R in the assessed CVSS:3.1) and the model must be successfully coerced, so the issue is conditionally gated rather than a mass-exploitation emergency. Severity is 8.7 in CVSS:4.0 and 8.7 in the independently assessed CVSS:3.1; no public exploit code and no CISA KEV entry are associated as of this analysis.

RemediationAI

No vendor-released patch is identified at time of analysis, so consult the VulnCheck advisory and Lasso Security entry for an updated fixed release and treat 3.1.5 as the last confirmed affected version. If the agent features are not essential, disable browse_webpage, search_web, and torrent metadata ingestion, or disable the ExecuteCommandTool outright; this breaks automated library and media commands but removes the RCE path. Harden the tool by eliminating the confirm_dangerous bypass and replacing the validate_command_safety denylist with a strict allowlist, and require explicit human approval for every execute_command call, while recognizing that any tool still fed by untrusted content can be re-bypassed by improved prompt injection. Run MoviePilot as a non-root user with a read-only filesystem and no host mounts or access to the Docker socket, and segment it on the network so a successful shell injection has a limited blast radius. Monitor for unexpected asyncio.create_subprocess_shell child processes spawned by the MoviePilot process and restrict which administrators can drive the agent. Exploitation is not confirmed in the wild, and no public exploit code or CISA KEV entry is associated at this time.

Affected VersionsENISA

MoviePilot 0 ≤3.1.5

Affected Packages

euvd moviepilot no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The root cause is CWE-1427, improper neutralization of input used for LLM prompting, commonly called prompt injection. MoviePilot (vendor jxxghp) versions through 3.1.5 ship an LLM agent whose tools include browse_webpage, search_web, and torrent metadata parsers for ingesting external content, alongside an ExecuteCommandTool that invokes execute_command implemented as an asyncio.create_subprocess_shell call. Because untrusted web pages, search results, and torrent metadata are handled as model instructions rather than inert data, an attacker can embed directive text that leads the agent to call execute_command with confirm_dangerous=true; that flag bypasses the validate_command_safety denylist, so the shell subprocess runs with the privileges of the administrator's is_admin session and yields arbitrary OS command execution on the MoviePilot host. The attack is network-reachable (AV:N) and does not require attacker credentials (PR:N), but the assessed vectors acknowledge that an administrator must trigger the agent against the malicious content and that the model must be successfully manipulated, making success probabilistic rather than deterministic. CPE cpe:2.3:a:jxxghp:moviepilot:*:*:*:*:*:*:*:* covers all versions, and ENISA EUVD lists the affected range as MoviePilot 0 through 3.1.5.

Know when Moviepilot gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 8.8 HIGH

Attacker needs no account (PR:N) and plants content remotely (AV:N), but an admin must run the agent on it (UI:R); successful injection yields full host command execution (C/I/A:H).

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

MoviePilot through 3.1.5 contains a command injection vulnerability that allows attackers to execute arbitrary OS commands by embedding malicious instructions in untrusted content processed through tools like browse_webpage, search_web, and torrent metadata parsers, which then get passed to the unrestricted ExecuteCommandTool via asyncio.create_subprocess_shell. Attackers can craft content that instructs the model to invoke execute_command with confirm_dangerous set to true, bypassing the validate_command_safety denylist and exploiting the admin session's is_admin context to achieve remote code execution on the host.

Executive ViewAI

Why It Matters

MoviePilot versions through 3.1.5 are vulnerable to a prompt-injection-to-remote-code-execution chain that allows an unauthenticated attacker to run arbitrary OS commands on the host, provided an administrator interacts with attacker-controlled content and the LLM agent is successfully coerced. This poses a high risk to organizations using the affected versions, as a successful exploit could lead to full host compromise, data theft, or lateral movement. Leadership should prioritize mitigation given the lack of a vendor patch and the potential for significant operational disruption.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations include: disable or restrict the LLM agent's browse_webpage, search_web, and torrent metadata parsing features; disable the ExecuteCommandTool or restrict it to a strict allowlist; remove or override the confirm_dangerous bypass; run MoviePilot with least privilege and in a segmented network; monitor for unexpected subprocess execution.

Threat Intelligence Overview

EPSS Score
1.0%
Top 38% exploitable
Prevalence
Low
niche self-hosted media automation tool, no enterprise footprint
Social Media
2
Sightings
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 1.0%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

45
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

OS command injection occurs when an application passes unsanitized user input directly into system shell commands.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy