{"id":"CVE-2026-46341","state":"PUBLISHED","title":"Apify MCP server: Domain Allowlist Bypass in fetch-apify-docs via String Prefix Matching","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.","publishedAt":"2026-07-16T16:54:01.843Z","updatedAt":"2026-07-17T14:01:46.108Z","severity":{"score":6.1,"label":"Medium","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","source":"GitHub_M"},"assigner":"GitHub_M","products":["apify apify-mcp-server"],"affected":[{"vendor":"apify","product":"apify-mcp-server","versions":[{"version":"< 0.9.21","status":"affected"}]}],"references":["https://github.com/apify/apify-mcp-server/security/advisories/GHSA-jwp7-wg77-3w9v","https://github.com/apify/apify-mcp-server/pull/781","https://github.com/apify/apify-mcp-server/commit/e39bdee530da1db0b3b3d3713558b33c9608e629","https://github.com/apify/apify-mcp-server/releases/tag/v0.9.21"],"weaknesses":["CWE-20","CWE-183"],"ingestedAt":"2026-10-29T20:12:07.131Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/46xxx/CVE-2026-46341.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-46341","state":"PUBLISHED","datePublished":"2026-07-16T16:54:01.843Z","dateUpdated":"2026-07-17T14:01:46.108Z","assignerShortName":"GitHub_M","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateReserved":"2026-05-13T18:37:30.990Z"},"containers":{"cna":{"title":"Apify MCP server: Domain Allowlist Bypass in fetch-apify-docs via String Prefix Matching","descriptions":[{"lang":"en","value":"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."}],"affected":[{"vendor":"apify","product":"apify-mcp-server","versions":[{"version":"< 0.9.21","status":"affected"}]}],"references":[{"url":"https://github.com/apify/apify-mcp-server/security/advisories/GHSA-jwp7-wg77-3w9v","name":"https://github.com/apify/apify-mcp-server/security/advisories/GHSA-jwp7-wg77-3w9v","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/apify/apify-mcp-server/pull/781","name":"https://github.com/apify/apify-mcp-server/pull/781","tags":["x_refsource_MISC"]},{"url":"https://github.com/apify/apify-mcp-server/commit/e39bdee530da1db0b3b3d3713558b33c9608e629","name":"https://github.com/apify/apify-mcp-server/commit/e39bdee530da1db0b3b3d3713558b33c9608e629","tags":["x_refsource_MISC"]},{"url":"https://github.com/apify/apify-mcp-server/releases/tag/v0.9.21","name":"https://github.com/apify/apify-mcp-server/releases/tag/v0.9.21","tags":["x_refsource_MISC"]}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":6.1,"baseSeverity":"MEDIUM","confidentialityImpact":"LOW","integrityImpact":"LOW","privilegesRequired":"NONE","scope":"CHANGED","userInteraction":"REQUIRED","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-20","lang":"en","description":"CWE-20: Improper Input Validation","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-183","lang":"en","description":"CWE-183: Permissive List of Allowed Inputs","type":"CWE"}]}],"providerMetadata":{"shortName":"GitHub_M","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateUpdated":"2026-07-16T16:54:01.843Z"},"source":{"advisory":"GHSA-jwp7-wg77-3w9v","discovery":"UNKNOWN"}},"adp":[{"title":"CISA ADP Vulnrichment","references":[{"url":"https://github.com/apify/apify-mcp-server/security/advisories/GHSA-jwp7-wg77-3w9v","tags":["exploit"]}],"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-07-17T14:01:40.675260Z","id":"CVE-2026-46341","options":[{"Exploitation":"poc"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-07-17T14:01:46.108Z"}}]}}}