Research Notes — MCP Server Security Standard v0.1#

This document summarizes the research sources, patterns, and claims used to inform the MSSS v0.1 controls.

Sources#

Official MCP Documentation#

SourceSummary
MCP Specification — Security Best PracticesOfficial Anthropic guidance on confused deputy attacks, session management, local server risks
MCP Authorization TutorialOAuth 2.1 token delegation patterns for MCP servers

OWASP & Industry Frameworks#

SourceSummary
OWASP MCP Top 10 (2025)Community-driven top 10 security risks for MCP servers and clients
OWASP MCP Server Security RisksServer-specific risk categories: token mismanagement, scope creep, schema poisoning
OWASP GenAI Security ProjectHardening patterns: network segmentation, gateway controls, rate limiting
Cloud Security Alliance MCP Resource CenterMapping to OWASP, MITRE ATLAS, NIST RMF, ISO 42001, SOC 2, EU AI Act

Academic Research#

SourceSummary
arXiv:2508.12538 — MCPLIBTaxonomy of 31 attack methods across 4 classes (direct injection, indirect injection, malicious user, LLM inherent)
HuggingFace:2506.02040Attack vector study: tool poisoning, puppet attacks, rug pulls, malicious external resources
arXiv:2506.13538 — Empirical StudyAnalysis of 1,899 MCP servers; 7.2% with vulnerabilities, 5.5% with tool poisoning
Hou et al. — MCP LandscapeLifecycle security analysis: creation, operation, update phase risks

Vulnerability Reports#

CVE/ReportSummary
CVE-2025-53109Symlink bypass in Anthropic Filesystem MCP Server (CVSS 8.8)
CVE-2025-53110Naive prefix matching bypass (CVSS 7.3)
CVE-2025-61492Command injection in terminal-controller-mcp via unsanitized input
CVE-2025-5276SSRF in markdownify-mcp allowing internal service access
CVE-2025-5277Command injection in aws-mcp-server
CVE-2025-6514RCE in mcp-remote via URL crafting

Security Research & Best Practices#

SourceSummary
Trail of Bits — Prompt Injection to RCEDemonstrated approval bypass in AI agents; one-shot prompt injection to RCE
Kaspersky GERT — Supply Chain AttackPoC malicious MCP server stealing credentials (.env, SSH keys, AWS creds)
Trend Micro — Exposed MCP Servers492 MCP servers without authentication discovered; 74% on cloud providers
WorkOS — MCP Security GuideScope creep, privilege escalation, secrets management patterns
Docker Blog — MCP SecurityContainer security patterns for MCP deployments

Repeated Failure Patterns by Domain#

FS — Filesystem & Local Resources#

  • Naive prefix matching: Path validation using startswith() without canonical path resolution
  • Symlink bypass: Validating requested path but not resolving symlink targets before access
  • Insecure glob patterns: Unrestricted glob expansion allowing access outside intended directories
  • Missing size limits: No bounds on file reads leading to memory exhaustion

EXEC — Command Execution#

  • Shell string concatenation: Using os.system() or shell=True with user-controlled input
  • Missing argument separators: Not using -- to separate options from user-supplied arguments
  • Over-broad command allowlists: Including commands that can invoke shells (git, find, etc.)

NET — Network Access#

  • SSRF via unrestricted fetch: Tools fetching arbitrary URLs including internal services and cloud metadata
  • Blacklist-based validation: Using deny lists instead of explicit allowlists for URL validation
  • Missing egress controls: No network policy restricting outbound connections
  • DNS rebinding: Validating hostname before fetch but not after resolution

AUTHZ — Authorization#

  • Missing OAuth delegation: Using shared server credentials instead of per-user tokens
  • Over-permissioned tools: Tools with blanket read/write access instead of scoped permissions
  • No RBAC implementation: All users/clients get the same access level
  • Hardcoded credentials: API keys and database passwords in source code or config files

INPUT — Input Validation#

  • Schema-less tools: Accepting arbitrary JSON without schema validation
  • Unbounded arrays/strings: No limits on collection sizes or string lengths
  • Missing timeouts: Long-running operations without cancellation mechanisms
  • ReDoS patterns: Regular expressions with catastrophic backtracking

LOG — Logging & Audit#

  • Secrets in logs: Logging API keys, tokens, or passwords in plaintext
  • Missing attribution: Unable to trace actions to specific users
  • Insufficient invocation logging: Not recording tool calls, arguments, or results

SUPPLY — Supply Chain#

  • No package signing: Distributing MCP servers without cryptographic signatures
  • Typosquatting: Malicious packages with names similar to legitimate ones
  • Rug pulls: Legitimate-appearing packages that change behavior after trust is established
  • Unpinned dependencies: Using floating versions without hash verification

DEPLOY — Deployment Hardening#

  • Running as root: Container processes with UID 0
  • Docker socket mounting: Exposing host Docker control to container
  • Missing seccomp/AppArmor: No syscall filtering or MAC policies
  • Writable root filesystem: Allowing persistent modifications
  • No resource limits: Unbounded CPU/memory consumption

Claims to Verify#

The following claims from research sources require independent verification before citing as fact:

UNVERIFIED — Statistics#

ClaimSourceStatus
“43% of MCP servers tested allow command injection”Practical DevOps, MCPManagerUNVERIFIED — Methodology and sample size not disclosed
“492 exposed MCP servers without authentication”Trend MicroUNVERIFIED — Discovery methodology unclear
“7.2% of 1,899 servers contain vulnerabilities”arXiv:2506.13538REQUIRES REVIEW — Need to verify paper methodology
“5.5% exhibit tool poisoning”arXiv:2506.13538REQUIRES REVIEW — Definition of “tool poisoning” unclear
“14.4% contain bug patterns”arXiv:2506.13538REQUIRES REVIEW — “Bug pattern” definition needed
“74% of exposed servers hosted on cloud providers”Trend MicroUNVERIFIED — Based on limited scan data
“90% have read access to data sources”Trend MicroUNVERIFIED — Sample selection bias possible

UNVERIFIED — CVE Details#

ClaimSourceStatus
CVE-2025-53109 CVSS 8.8CymulateVERIFIED — NVD entry exists
CVE-2025-53110 CVSS 7.3CymulateVERIFIED — NVD entry exists
CVE-2025-61492SentinelOneVERIFIED — Vulnerability database entry
CVE-2025-6514JFrogREQUIRES REVIEW — Need NVD confirmation

UNVERIFIED — Future Claims#

ClaimSourceStatus
“Official MCP registry coming Q1-Q2 2025”Community speculationUNVERIFIED — No official Anthropic announcement
“Anthropic will require authentication”Community discussionUNVERIFIED — MCP spec makes auth optional

Notes for Control Development#

  1. Do not cite unverified statistics in control rationale. Use qualitative statements instead (e.g., “commonly observed” rather than “43% of servers”).

  2. CVEs with NVD entries may be referenced as concrete examples of vulnerability patterns.

  3. Academic papers should be cited for taxonomy and attack methodology but not for prevalence statistics without verification.

  4. OWASP MCP Top 10 is a living document and may change; reference the specific version when citing.

  5. Transport-agnostic controls are preferred; transport-specific guidance belongs in profiles or appendices.

MCP Server Security Standard