CVE-2026-49857
auth-fetch-mcp has SSRF Protection Bypass via IPv4-mapped IPv6 Loopback
Description
auth-fetch-mcp is an MCP server that lets AI assistants fetch content from authenticated web pages. Version 3.0.1 implements SSRF protection in `assertSafeUrl()` (`src/security.ts`) to block requests to private and loopback addresses. However, the `isPrivateV6()` function fails to detect IPv4-mapped IPv6 loopback addresses in their hex-normalized form. When an attacker supplies a URL such as `http://[::ffff:127.0.0.1]:PORT/`, the Node.js WHATWG URL parser silently normalizes the host to `[::ffff:7f00:1]`. Because `net.isIPv4('7f00:1')` returns `false`, the private-IP check is bypassed and the URL is passed to the browser or HTTP client, allowing the MCP tool to reach loopback services that are supposed to be blocked. The issue is exploitable under default configuration without any special environment variable. Version 3.0.1 patches the issue.
INFO
Published Date :
Aug. 13, 2026, 3:19 p.m.
Last Modified :
Oct. 24, 2026, 4:10 p.m.
Remotely Exploit :
Yes !
Source :
[email protected]
CVSS Scores
| Score | Version | Severity | Vector | Exploitability Score | Impact Score | Source |
|---|---|---|---|---|---|---|
| CVSS | 134c704f-9b21-4f2e-91b3-4a467353bcc0 | |||||
| CVSS 3.1 | HIGH | [email protected] | ||||
| CVSS 3.1 | HIGH | MITRE-CVE |
Solution
- Update auth-fetch-mcp to version 3.0.1.
- Apply the security patch for `assertSafeUrl`.
- Ensure correct loopback address detection.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2026-49857.
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2026-49857 is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2026-49857
weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2026-49857 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2026-49857 vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
CVE Translated by [email protected]
Oct. 24, 2026
Action Type Old Value New Value Changed Translation Title: auth-fetch-mcp de ymw0407, Description: auth-fetch-mcp es un servidor MCP que permite a los asistentes de IA obtener contenido de páginas web autenticadas. La versión 3.0.1 implementa protección SSRF en ’assertSafeUrl()’ (’src/security.ts’) para bloquear solicitudes a direcciones privadas y de bucle invertido. Sin embargo, la función ’isPrivateV6()’ no detecta las direcciones de bucle invertido IPv6 mapeadas a IPv4 en su forma hex-normalizada. Cuando un atacante proporciona una URL como ’http://[::ffff:127.0.0.1]:PUERTO/’, el analizador de URL WHATWG de Node.js normaliza silenciosamente el host a ’[::ffff:7f00:1]’. Debido a que ’net.isIPv4(’7f00:1’)’ devuelve ’false’, la verificación de IP privada se omite y la URL se pasa al navegador o cliente HTTP, permitiendo que la herramienta MCP acceda a servicios de bucle invertido que se supone que deben estar bloqueados. El problema es explotable bajo la configuración predeterminada sin ninguna variable de entorno especial. La versión 3.0.1 corrige el problema. Title: auth-fetch-mcp de ymw0407, Description: auth-fetch-mcp es un servidor MCP que permite a los asistentes de IA obtener contenido de páginas web autenticadas. La versión 3.0.1 implementa protección SSRF en ’assertSafeUrl()’ (’src/security.ts’) para bloquear solicitudes a direcciones privadas y de bucle invertido. Sin embargo, la función ’isPrivateV6()’ no detecta las direcciones de bucle invertido IPv6 mapeadas a IPv4 en su forma hex-normalizada. Cuando un atacante proporciona una URL como ’http://[::ffff:127.0.0.1]:PUERTO/’, el analizador de URL WHATWG de Node.js normaliza silenciosamente el host a ’[::ffff:7f00:1]’. Debido a que ’net.isIPv4(’7f00:1’)’ devuelve ’false’, la verificación de IP privada se omite y la URL se pasa al navegador o cliente HTTP, permitiendo que la herramienta MCP acceda a servicios de bucle invertido que se supone que deben estar bloqueados. El problema es explotable bajo la configuración predeterminada sin ninguna variable de entorno especial. La versión 3.0.1 corrige el problema. -
CVE Translated by [email protected]
Oct. 23, 2026
Action Type Old Value New Value Added Translation Title: auth-fetch-mcp de ymw0407, Description: auth-fetch-mcp es un servidor MCP que permite a los asistentes de IA obtener contenido de páginas web autenticadas. La versión 3.0.1 implementa protección SSRF en ’assertSafeUrl()’ (’src/security.ts’) para bloquear solicitudes a direcciones privadas y de bucle invertido. Sin embargo, la función ’isPrivateV6()’ no detecta las direcciones de bucle invertido IPv6 mapeadas a IPv4 en su forma hex-normalizada. Cuando un atacante proporciona una URL como ’http://[::ffff:127.0.0.1]:PUERTO/’, el analizador de URL WHATWG de Node.js normaliza silenciosamente el host a ’[::ffff:7f00:1]’. Debido a que ’net.isIPv4(’7f00:1’)’ devuelve ’false’, la verificación de IP privada se omite y la URL se pasa al navegador o cliente HTTP, permitiendo que la herramienta MCP acceda a servicios de bucle invertido que se supone que deben estar bloqueados. El problema es explotable bajo la configuración predeterminada sin ninguna variable de entorno especial. La versión 3.0.1 corrige el problema. -
CVE Modified by 134c704f-9b21-4f2e-91b3-4a467353bcc0
Aug. 13, 2026
Action Type Old Value New Value Added SSVC {'id': 'CVE-2026-49857', 'role': 'CISA Coordinator', 'options': [{'exploitation': 'none'}, {'automatable': 'no'}, {'technicalImpact': 'partial'}], 'version': '2.0.3', 'timestamp': '2026-08-13T17:50:08.906500Z'} -
New CVE Received by [email protected]
Aug. 13, 2026
Action Type Old Value New Value Added Affected [{'vendor': 'ymw0407', 'product': 'auth-fetch-mcp', 'versions': [{'status': 'affected', 'version': '< 3.0.2'}]}] Added Description auth-fetch-mcp is an MCP server that lets AI assistants fetch content from authenticated web pages. Version 3.0.1 implements SSRF protection in `assertSafeUrl()` (`src/security.ts`) to block requests to private and loopback addresses. However, the `isPrivateV6()` function fails to detect IPv4-mapped IPv6 loopback addresses in their hex-normalized form. When an attacker supplies a URL such as `http://[::ffff:127.0.0.1]:PORT/`, the Node.js WHATWG URL parser silently normalizes the host to `[::ffff:7f00:1]`. Because `net.isIPv4('7f00:1')` returns `false`, the private-IP check is bypassed and the URL is passed to the browser or HTTP client, allowing the MCP tool to reach loopback services that are supposed to be blocked. The issue is exploitable under default configuration without any special environment variable. Version 3.0.1 patches the issue. Added CVSS V3.1 AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N Added CWE CWE-918 Added Reference https://github.com/ymw0407/auth-fetch-mcp/commit/c5c523cd55b24ae1680c5bacef95d59a81ae3450 Added Reference https://github.com/ymw0407/auth-fetch-mcp/releases/tag/v3.0.1 Added Reference https://github.com/ymw0407/auth-fetch-mcp/security/advisories/GHSA-pvrj-8cg3-j5f8