CVE-2026-49857
Full vulnerability record from the local CVENow database.
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.
View original CVE JSON
{
"id": "CVE-2026-49857",
"sourceIdentifier": "[email protected]",
"published": "2026-08-13T15:19:41.743",
"lastModified": "2026-10-24T16:10:00.153",
"vulnStatus": "Deferred",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "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."
},
{
"lang": "es",
"value": "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."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "ymw0407",
"product": "auth-fetch-mcp",
"versions": [
{
"version": "< 3.0.2",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "[email protected]",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N",
"baseScore": 7.4,
"baseSeverity": "HIGH",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"privilegesRequired": "NONE",
"userInteraction": "REQUIRED",
"scope": "CHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "NONE",
"availabilityImpact": "NONE"
},
"exploitabilityScore": 2.8,
"impactScore": 4.0
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-08-13T17:50:08.906500Z",
"id": "CVE-2026-49857",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-918"
}
]
}
],
"references": [
{
"url": "https://github.com/ymw0407/auth-fetch-mcp/commit/c5c523cd55b24ae1680c5bacef95d59a81ae3450",
"source": "[email protected]"
},
{
"url": "https://github.com/ymw0407/auth-fetch-mcp/releases/tag/v3.0.1",
"source": "[email protected]"
},
{
"url": "https://github.com/ymw0407/auth-fetch-mcp/security/advisories/GHSA-pvrj-8cg3-j5f8",
"source": "[email protected]"
}
]
}