T45 · Helmwart ID · OWASP MAS Guide source

Insufficient Isolation of MCP Server Permissions

A Model Context Protocol (MCP) server runs with far broader host or network permissions than it needs, so compromising it hands the attacker control well beyond the server's function.

Last reviewed 2026-05-14·Severity heuristic: high

ExtendsT3: Privilege Compromise · base threat in OWASP v1.1 catalog

Definition

An MCP server granted excessive permissions on the host system or network violates the principle of least privilege at the server process level. If the server is compromised, the attacker inherits permissions far broader than those needed for the server’s defined function. This differs from T3 Privilege Compromise, which focuses on agent roles; T45 focuses on the server process’s own OS-level permissions.

What it looks like in practice

An MCP server deployed to expose a document search tool is launched under the same user account used for system administration, giving it full read-write access to the host file system, the ability to install software, and network access beyond the database it is designed to serve. An attacker exploits a vulnerability in the MCP server process (for example, via a malformed JSON-RPC request) and gains code execution in the server process context. Because the process runs with administrative rights, the attacker immediately has full host control: they can exfiltrate files outside the document search scope, install a persistent backdoor, and pivot to other services on the same host. All of this stems from an initial foothold in the MCP server.

Why it’s dangerous in multi-agent context

MCP servers are infrastructure components that agents depend on for tool and resource access. As MCP servers are increasingly deployed to expose sensitive organisational data and tools to AI agents, the scope of damage from an over-privileged server compromise (the blast radius) grows correspondingly. T43 (Network Exposure of MCP Server) compounds the risk: a server exposed on an unauthorised network and running with excessive permissions combines wide reachability with a broad damage scope. The blast radius of a single server compromise extends beyond the MCP resource scope to the entire host.

Detection signals

An over-privileged server process is detectable before compromise through configuration audits, and its exploitation becomes visible through process behaviour anomalies that exceed the server’s expected resource scope.

  • The MCP server process’s effective UID matching root or a shared system-administration account rather than a dedicated service account. Run ps -eo pid,user,cmd on the server host or check the container’s process manifest; flag any match against a privileged user list.
  • A Linux capability audit (getpcaps <pid>) showing capabilities beyond cap_net_bind_service for a server that only needs to serve HTTP. Enumerate granted capabilities at deployment and alert if any unexpected capability is present.
  • The MCP server process opening file descriptors outside its defined working directories. A file descriptor scan (ls -la /proc/<pid>/fd) or an auditd rule on open() syscalls outside the permitted path set will surface lateral file access.
  • A new child process spawned from the MCP server’s PID that is not part of the expected process tree (e.g., a shell, a package manager, or a network utility). Process-tree monitoring via auditd execve rules or an EDR (Endpoint Detection and Response) agent will catch unexpected child spawns.
  • Outbound network connections from the MCP server process to addresses outside the database or API endpoints it is designed to contact. Enforce an egress allowlist in the container network policy and alert on any deny event.

Mitigations

  • Run each MCP server process under a dedicated, minimal service account with no interactive login rights and no permissions beyond those required to access the specific files, databases, and APIs the server is designed to serve.
  • Containerise MCP servers with a minimal base image; drop all Linux capabilities not required for the server’s function using container security profiles.
  • Apply OS-level mandatory access controls (AppArmor, SELinux) to constrain the server process’s file system and network access to its defined scope.
  • Conduct a least-privilege audit for every MCP server before production deployment; treat any deviation from the minimum required permission set as a blocking issue.

Relation to base threat (T1–T17)

T45 extends T3 Privilege Compromise. Where T3 addresses overly broad agent roles at the application level, T45 addresses the OS-level permissions of the MCP server process itself. T43 (Network Exposure of MCP Server) is the deployment-layer precursor: network exposure grants initial access, while T45’s excessive permissions determine how far the attacker can move once inside.

OWASP Top 10 for Agentic Applications 2026

The Agentic Top 10 (ASI01 through ASI10) is a separate practitioner-facing publication that maps onto the master Threats & Mitigations threat numbering. T45 is covered by the following Top 10 entries:

Source: OWASP Top 10 for Agentic Applications 2026 (Dec 2025) · the Top 10 is a compass into the master Threats & Mitigations taxonomy, not a replacement for it.

Design principles at stake

When T45 is present, these security design principles are the ones being violated or tested. Each links to the full principle; the mitigations below are how you restore them.

  • Defence-in-DepthNetwork-level exposure (T43) grants initial access to the MCP server; what T45 determines is how far the attacker can move once inside. Running the server process under an administrative account means the depth collapses at the first layer: there is no second boundary between the MCP resource scope and full host control. Depth here means the server process is itself a constrained layer: a dedicated minimal service account, container security profiles that drop unnecessary Linux capabilities, and OS-level mandatory access controls (AppArmor or SELinux) each independently limit what a process-level compromise can reach. A pre-deployment least-privilege audit treats any permission beyond the minimum required as a blocking issue before the server is promoted to production.
  • Least PrivilegeAn MCP server launched under an administrative account holds a standing grant to the entire host file system, software installation, and network access well beyond its defined scope: so an attacker who gains code execution in the server process inherits that full grant immediately, with no further escalation required. Least privilege counters this by confining the server process to a dedicated minimal service account with no interactive login rights and no permissions beyond the specific files, databases, and APIs it is designed to serve. Containerisation with a minimal base image and dropped Linux capabilities enforces the same boundary at the OS layer, so even a successful exploit yields only the narrow footprint the server legitimately needs.

Multi-agent variants: OWASP MAS Guide

The OWASP OWASP MAS Threat Modelling Guide v1.0 catalogues 1 named multi-agent variant of T45, anchored to specific MAESTRO layers. Each is a concrete attack pattern that emerges when this threat compounds across agents.

  • CLCross-Client Inference Interferenceextends T42, T45, T28

    Shared inference infrastructure (T42: side-channel) allows a tenant to observe timing or cache patterns from a co-tenant session (T45: session isolation failure); incomplete sandboxing (T28) lets the attacker infer private prompt content across clients.

Source: OWASP MAS Threat Modelling Guide v1.0, §2 Overview of MAESTRO Framework — Extended Threat Scenarios + Cross-Layer table.

Red-team pivot: MITRE ATLAS techniques

MITRE ATLAS catalogues adversary techniques against AI systems. Where this OWASP threat has an attacker-perspective counterpart, the ATLAS technique is shown below. That is what a red team would actually be doing on the wire. Use this for detection-signal anchoring, threat-hunting hypotheses, and IR runbooks. Source: mitre-atlas/atlas-data v5.6.0.

© 2026 The MITRE Corporation. ATLAS content is reproduced and distributed with the permission of The MITRE Corporation.

AML.T0012Valid Accountsview on ATLAS ↗

Adversary obtains and abuses legitimate user or service credentials for initial access, persistence, privilege escalation, or defence evasion.

Agentic angle: Agents often run under long-lived service accounts whose blast radius exceeds the original task scope.

AML.T0055Unsecured Credentialsview on ATLAS ↗

Adversary discovers credentials stored in plain configuration files, environment variables, or model context where they should not be exposed.

Agentic angle: Agent configuration files (system prompts, tool descriptors, MCP manifests) are a fresh credential exposure surface.

AML.T0098AI Agent Tool Credential Harvestingview on ATLAS ↗

Adversary uses access to an AI agent to retrieve credentials stored in or accessible through the agent's connected tools: document stores, code repos, productivity platforms.

Agentic angle: Agent tools aggregate credentials from many integrated services; harvesting them grants lateral movement across the victim's entire connected toolchain.

References

Sources

Adapted by Helmwart from the OWASP source(s) above underCC BY-SA 4.0(changes: normalized IDs, added MAESTRO-layer, agentic-factor, and mitigation mappings). This entry is licensed CC BY-SA 4.0.