id: CVE-2025-49596-insikt

info:
  name: CVE-2025-49596 Anthropic Model Context Protocol (MCP) Inspector Missing Authentication Vulnerability
  author: ACHA, Insikt Group, Recorded Future
  severity: critical
  description: |
    Detects a missing authentication vulnerability in MCP Inspector versions 0.14.0 and earlier. This template sends a GET request to the "/sse" endpoint with crafted parameters and checks for a 200 OK response containing "/message?sessionId=" in the body and "mcp-session-id" in the header. In patched versions, the server responds with a 401 Unauthorized status and includes "Authentication required" in the response body.
  impact: |
    Successful exploitation allows remote, unauthenticated attackers to execute arbitrary code (RCE).
  remediation: |
    Upgrade to MCP Inspector version 0.14.1 or later.
  reference:
    - https://www.oligo.security/blog/critical-rce-vulnerability-in-anthropic-mcp-inspector-cve-2025-49596
    - https://nvd.nist.gov/vuln/detail/CVE-2025-49596
    - https://github.com/modelcontextprotocol/inspector/commit/50df0e1ec488f3983740b4d28d2a968f12eb8979
    - https://github.com/modelcontextprotocol/inspector/security/advisories/GHSA-7f8r-222p-6f5g
  classification:
    cvss-metrics: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
    cvss-score: 9.4
    cve-id: CVE-2025-49596
    cwe-id: CWE-306 # Missing Authentication for Critical Function
  metadata:
    verified: true
    max-request: 1
    date: 2025-07-08
    last-updated: 2025-10-14 # Improved detection logic with more accurate matchers: added "mcp-session-id" and modified "sessionId=" to "/message?sessionId="
    unique-rule-id: a367a73c-cd7d-4888-a9dd-820a24ff788e
    mitre-att&ck:
      - attack.t1190 # Exploit Public-Facing Application
      - attack.t1059.004 # Command and Scripting Interpreter: Unix Shell
    shodan-query: title:"MCP Inspector"
    vendor: Anthropic
    product: MCP Inspector
  tags: cve,cve2025,rce,auth

requests:
  - method: GET
    path:
      - "{{BaseURL}}/sse?transportType=stdio&command=echo&args=CVE-2025-49596_TEST"

    matchers-condition: and
    matchers:
      - type: status
        status:
          - 200

      - type: word
        words:
          - "/message?sessionId="
        part: body

      - type: word
        words:
          - "mcp-session-id"
        part: header
