CVE-2026-80347
HighCVSS 7.5Exploitation Probability (EPSS)
Low risk26th percentile - higher than 26% of all known CVEs
Summary
mcp-fetch checks a fetch target against its SSRF guard without removing the brackets that surround an IPv6 literal. isSafeUrl reads the hostname from the parsed URL, which for a literal such as http://[::1]/ yields the bracketed string, and then tests it with net.isIP. That call returns zero for a bracketed value, so the branch holding the private-address checks is skipped entirely. The guard falls back to resolving the hostname, the bracketed string is not a resolvable name, no addresses are returned, and the target is reported safe. The HTTP client then strips the brackets and connects. Because the address may be given in IPv4-mapped form, the same path reaches any IPv4 target the loopback and private checks were meant to exclude, including link-local metadata endpoints. isPrivateIPv6 also has no case for the ::ffff: prefix, so the mapped form would still pass even if the brackets were removed. The fetch target is supplied as a tool argument, so an attacker who can influence what the model requests can read internal responses back into the model context.
Risk Assessment
An attacker can exploit SSRF to access internal resources and metadata, potentially leading to data leakage or privilege escalation in the model environment.
Recommendation
Update mcp-fetch to a patched version that strips brackets before SSRF checks and handles the IPv4-mapped IPv6 range.
Related vulnerabilities
- CVE-2026-123614Critical
imgproxy from 4.0.0 before 4.0.16 contains an integer overflow in the ICO loader that allows remote attackers to trigger a heap buffer overflow via a crafted data_size value. Attackers can submit a crafted ICO image whose data_size wraps the allocation in vips/icoload.c, corrupting heap memory to crash the process or achieve code execution.
- CVE-2026-123551Critical
OpenAM from 14.0.0 before 16.1.4 contains an information disclosure vulnerability that allows unauthenticated attackers to read live session tokens from the notification WebSocket. Attackers can bypass the agent-only check through an unvalidated internal forward on legacy Liberty ID-FF endpoints, collecting iPlanetDirectoryPro tokens to hijack user and administrator sessions.
- CVE-2026-123550Critical
OpenAM before 16.1.4 contains an authentication bypass vulnerability in its SAML v2.0 service provider that accepts unsigned assertions on the ECP (PAOS) and HTTP-Artifact bindings when WantAssertionsSigned is false. Unauthenticated remote attackers can submit forged assertions to obtain sessions as any mapped user, including administrators, and hijack single sign-on to dependent applications.
- CVE-2026-123549Critical
OpenAM before 16.1.4 fails to enforce the Valid Creation Attributes list during self-registration, allowing anonymous attackers to set restricted attributes including group membership. Attackers can register through the legacy self-service REST endpoint or User Self-Service flow to join administrative groups and gain full administrative control of OpenAM.
- CVE-2026-124060Critical
A vulnerability was detected in TOTOLINK CA300-PoE version 6.2c.884 in the UploadCustomModule function of the file /cgi-bin/cstecgi.cgi. Manipulation of the File argument results in a buffer overflow. The attack can be launched remotely, and the exploit is now public and may be used.
- CVE-2026-124059Critical
A security vulnerability has been detected in TOTOLINK CA300-PoE 6.2c.884. The function setWiFiWdsAddConfig in the file /cgi-bin/cstecgi.cgi is affected, where manipulation of the ApCliKeyStr argument leads to a buffer overflow. The attack may be initiated remotely, and the exploit has been disclosed publicly and may be used.
- CVE-2026-124058Critical
A weakness has been identified in TOTOLINK CA300-PoE 6.2c.884. The function setWiFiRepeaterConfig in the file /cgi-bin/cstecgi.cgi is affected, where manipulation of the ApCliKeyStr argument can lead to a buffer overflow. The attack can be launched remotely, and the exploit has been made available to the public and could be used for attacks.
- CVE-2026-124057Critical
A security flaw has been discovered in TOTOLINK CA300-PoE 6.2c.884. This impacts the function setWiFiMultipleConfig of the file /cgi-bin/cstecgi.cgi. Manipulation of the argument Key1Str1 results in a buffer overflow. The attack can be initiated remotely. The exploit has been released to the public and may be used for attacks.
- CVE-2026-123966Critical
A vulnerability was found in Tenda AC19 version 16.03.10.07 in the saveParentControlInfo function of the /goform/saveParentControlInfo file. Manipulating the deviceId argument causes a heap-based buffer overflow. The attack can be carried out remotely, and the exploit has been publicly disclosed.
- CVE-2026-120984Critical
A flaw was found in the Keycloak server's client management component. When a client is created or imported with authorization services enabled, the system fails to properly clear an internal session attribute used during setup. An authenticated attacker with client management permissions can bypass security controls and upload a malicious JavaScript policy that executes on the server.
Original NVD description (English source)
mcp-fetch checks a fetch target against its SSRF guard without removing the brackets that surround an IPv6 literal. isSafeUrl reads the hostname from the parsed URL, which for a literal such as http://[::1]/ yields the bracketed string, and then tests it with net.isIP. That call returns zero for a bracketed value, so the branch holding the private-address checks is skipped entirely. The guard falls back to resolving the hostname, the bracketed string is not a resolvable name, no addresses are returned, and the target is reported safe. The HTTP client then strips the brackets and connects. Because the address may be given in IPv4-mapped form, the same path reaches any IPv4 target the loopback and private checks were meant to exclude, including link-local metadata endpoints. isPrivateIPv6 also has no case for the ::ffff: prefix, so the mapped form would still pass even if the brackets were removed. The fetch target is supplied as a tool argument, so an attacker who can influence what the model requests can read internal responses back into the model context.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

