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://docs.apify.com@evil.com/` to pass the ALLOWED_DOC_DOMAINS check and return arbitrary fetched content to the LLM. This issue is fixed in version 0.9.21.
Published: 2026-07-16
Score: 6.1 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Apify MCP server allows AI agents to scrape websites using tools from the Apify Store. Before release 0.9.21, the fetch‑apify‑docs component validated allowlisted documentation domains with a simple string‑prefix check. This flaw meant that URLs containing the allowed prefix but pointing to another domain, for example https://docs.apify.com.evil.com/ or https://docs.apify.com@evil.com/, passed the ALLOWED_DOC_DOMAINS test and were fetched, returning arbitrary content to the LLM. The weakness combines improper input validation and unchecked hostname comparison (CWE‑183 and CWE‑20). An attacker who can influence the fetch request can thus cause the server to retrieve malicious or unrelated content and inject it into AI outputs, potentially leading to data contamination or downstream exploitation.

Affected Systems

Apify MCP server, all released versions before 0.9.21. The vulnerability was fixed in release 0.9.21 and later. It affects the fetch‑apify‑docs component located in src/tools/common/fetch_apify_docs.ts.

Risk and Exploitability

The CVSS score of 6.1 indicates a moderate risk. EPSS score is < 1% (approximately 0.00191), indicating a very low but nonzero exploitation probability, and the vulnerability is not listed in the CISA KEV catalog, so no known widespread exploitation is reported yet. Based on the description, it is inferred that the attacker could launch the exploit from a client that can induce the MCP server to resolve a malicious domain or from an internal attacker who can tamper with the fetch request. The attack could be performed remotely if the fetch‑apify‑docs endpoint is exposed or internally if the attacker controls a job that invokes the function. The attack surface therefore depends on how the server is deployed and exposed to clients.

Generated by OpenCVE AI on July 31, 2026 at 01:35 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the official patch by upgrading Apify MCP server to version 0.9.21 or later
  • If an upgrade is not possible, restrict the fetch‑apify‑docs operation to local, trusted URLs and disable arbitrary external fetches
  • Implement strict hostname validation for fetched URLs, ensuring the domain matches the allowlist rather than string prefix matching

Generated by OpenCVE AI on July 31, 2026 at 01:35 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-jwp7-wg77-3w9v Apify Model Context Protocol (MCP) server: Domain Allowlist Bypass in fetch-apify-docs via String Prefix Matching
History

Thu, 23 Jul 2026 22:45:00 +0000

Type Values Removed Values Added
First Time appeared Apify
Apify apify-mcp-server
Vendors & Products Apify
Apify apify-mcp-server

Fri, 17 Jul 2026 14:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 16 Jul 2026 17:30:00 +0000

Type Values Removed Values Added
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://docs.apify.com@evil.com/` to pass the ALLOWED_DOC_DOMAINS check and return arbitrary fetched content to the LLM. This issue is fixed in version 0.9.21.
Title Apify MCP server: Domain Allowlist Bypass in fetch-apify-docs via String Prefix Matching
Weaknesses CWE-183
CWE-20
References
Metrics cvssV3_1

{'score': 6.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N'}


Subscriptions

Apify Apify-mcp-server
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-17T14:01:46.108Z

Reserved: 2026-05-13T18:37:30.990Z

Link: CVE-2026-46341

cve-icon Vulnrichment

Updated: 2026-07-17T14:01:33.925Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-31T01:45:06Z

Weaknesses
  • CWE-183

    Permissive List of Allowed Inputs

  • CWE-20

    Improper Input Validation