CVE-2026-81093: Apify Actors MCP Server before 0.9.12 Server-Side Request Forgery via get-html-skeleton
The get-html-skeleton tool fetched a URL the caller supplied after checking only its syntax. The handler in src/tools/common/gethtmlskeleton.ts validated the url argument with isValidHttpUrl from src/utils/generic.ts, which confirmed the string began with an http or https scheme and parsed as a URL and inspected neither the host name nor the address it resolves to. Loopback, link-local and private ranges therefore passed, including the address cloud providers use to serve instance metadata. The unchecked URL was handed to the web-browser actor and the fetched document was returned in the tool response, so any caller of the MCP server could make it request an endpoint reachable only from the host and read the result, including instance credentials. Version 0.9.12 removes the tool.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Remove
Remove
Apify Actors MCP Server (get-html-skeleton tool)from your environment.Remove the get-html-skeleton tool from the Apify Actors MCP Server; the issue is addressed by versions where 0.9.12 removes the tool.
Event History
Frequently Asked Questions
Who can exploit this issue?
Any caller of an affected MCP server can exploit it without authentication, user interaction, or special privileges. The attacker must be able to invoke the get-html-skeleton tool and supply a URL.
What internal resources can be exposed?
The server can be induced to request loopback, link-local, and private network addresses that are reachable from its host. This includes cloud instance metadata endpoints, and the response content, potentially including instance credentials, is returned to the caller.
Are deployments running version 0.9.12 affected?
No. Version 0.9.12 removes the get-html-skeleton tool responsible for the issue. Versions before 0.9.12 are affected.
How can I determine whether my deployment is exposed?
Check whether the deployed Apify Actors MCP Server version is earlier than 0.9.12 and whether callers can invoke get-html-skeleton. If so, callers may be able to retrieve responses from host-reachable internal endpoints.