CVE-2026-46341
Received Received - Intake

URL Spoofing in Apify MCP Server via Improper Domain Validation

Vulnerability report for CVE-2026-46341, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-07-16

Last updated on: 2026-07-16

Assigner: GitHub, Inc.

Description

The Apify MCP server enables AI agents to extract data from websites using ready-made scrapers, crawlers, and automation tools available on the Apify Store. Prior to 0.9.21, the fetch-apify-docs tool in src/tools/common/fetch_apify_docs.ts validates allowlisted documentation domains with String.startsWith() rather than URL hostname comparison, allowing attacker-controlled URLs such as `https://docs.apify.com.evil.com/` and `https://[email protected]/` to pass the ALLOWED_DOC_DOMAINS check and return arbitrary fetched content to the LLM. This issue is fixed in version 0.9.21.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-07-16
Last Modified
2026-07-16
Generated
2026-07-16
AI Q&A
2026-07-16
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 2 associated CPEs
Vendor Product Version / Range
apify mcp_server 0.9.21
apify apify_mcp_server 0.9.21

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-20 The product receives input or data, but it does not validate or incorrectly validates that the input has the properties that are required to process the data safely and correctly.
CWE-183 The product implements a protection mechanism that relies on a list of inputs (or properties of inputs) that are explicitly allowed by policy because the inputs are assumed to be safe, but the list is too permissive - that is, it allows an input that is unsafe, leading to resultant weaknesses.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability involves a domain allowlist bypass in the fetch-apify-docs tool of the Apify MCP server. The tool incorrectly uses String.startsWith() to validate URLs against trusted domains, allowing attacker-controlled subdomains like docs.apify.com.evil.com to pass checks. This enables fetching arbitrary web content, including prompt injection payloads, which can be returned to the LLM.

Detection Guidance

To detect this vulnerability, check if your apify-mcp-server version is below 0.9.21. Run: npm list apify-mcp-server. If the version is older, the system is vulnerable. Additionally, inspect logs for fetch-apify-docs tool usage with unusual domains like docs.apify.com.evil.com or [email protected].

Impact Analysis

An attacker could exploit this to fetch malicious HTML content and return it to the LLM, potentially leading to unauthorized actions, data exposure, or account compromise via manipulated tokens like _meta.apifyToken. The impact includes security boundary violations and prompt injection risks.

Mitigation Strategies

Upgrade apify-mcp-server to version 0.9.21 or later immediately. After upgrading, verify the fix by testing the fetch-apify-docs tool with known allowed domains and malicious URLs to ensure proper validation.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-46341. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart