Case · DiggingBeagle record

AWS API MCP ignored a custom denyList for alternate command name spellings

In an affected AWS API MCP integration, a custom operation denyList could be bypassed by alternate naming or normalization of an otherwise valid API operation.

Public disclosure: Nov 10, 2026

Scope

AWS API MCP deployments using a custom denyList against an agent or user who can supply an alternate operation name; backend AWS IAM remains effective.

Assessment profile

Assessment method
Setting
research demonstration
Exploitation
demonstrated
Evidence
Grade B
Remediation
patch available
AI role
AGAINST AI
Basis and provenance

Desk assessment of cited firsthand report and scope limits; quantitative denominators describe only the reporter's stated sample. No independent live exploitation or universal impact is inferred.

Assessed Nov 11, 2026 using diggingbeagle.assessment/1.

At a glance

Mechanism and trust boundary

  1. 01

    Supply an alternate operation spelling

    The caller requests an AWS API operation that a custom policy intended to block.

    Boundary: agent tool argument / MCP operation mapping

  2. 02

    Compare noncanonical command names

    The application checks a representation that misses the blocked logical operation.

    Boundary: denyList matcher / AWS API dispatcher

  3. 03

    Call AWS under existing server identity

    The server uses its permitted IAM credentials for the operation, if AWS authorizes it.

    Boundary: MCP policy / IAM-enforced action

Claims & evidence

CLM-ENR237-AWSAPI-DENY-ELICITAWS API MCP Server versions >=0.2.13 and <1.5.1 incorrectly normalized operation names with consecutive capitals when enforcing custom denyList or elicitList rules; the advisory marks 1.5.1 patched.supported

Basis: reported finding

Link to claim
CLM-R236-AWS-MCP-CUSTOM-DENYLIST-BYPASS-01The AWS API MCP advisory documents a bypass of custom denyList operation names, patched in 1.5.1.supported

Basis: reported finding

Link to claim
CLM-R236-AWS-MCP-CUSTOM-DENYLIST-BYPASS-02The flaw did not itself grant new AWS IAM privileges or bypass every independent approval and read-only restriction.supported

Basis: reported finding

Link to claim

Implications

An agent-facing denyList is only an application-level policy. If it is implemented as string matching without canonical command resolution, it can be bypassed while every cloud service-side IAM check still functions correctly.

Controls and mitigations

  • Upgrade the AWS MCP integration to 1.5.1 or later and use canonical API operation identifiers for all allow/deny checks.
  • Constrain the runtime's AWS IAM policy to the smallest necessary actions, independently of MCP-specific prompt and denyList settings.
  • Audit actual CloudTrail API calls and compare them to the intended MCP operation allowlist.
  • Upgrade `awslabs.aws-api-mcp-server` to at least 1.5.1 and separately keep AWS IAM actions restricted to the minimum necessary set; policy-name normalization is not an IAM replacement.

Unknowns and contradictions

  • No in-the-wild victim, credential theft or unrestricted cloud-account compromise was established. The advisory does not support claims that normal IAM permission boundaries were bypassed.

Sources and citation

Material revision history

  1. Nov 11, 2026 · Published version · first publication · revision 238