CVE-2026-80347 in mcp-fetch
Zusammenfassung
von VulDB • 27.08.2026
mcp-fetch überprüft ein Fetch-Ziel gegen seinen SSRF-Schutz (Server-Side Request Forgery), entfernt jedoch nicht die Klammern, die eine IPv6-Literal umgeben. isSafeUrl liest den Hostnamen aus der analysierten URL; bei einer Literal wie http://[::1]/ ergibt dies die geklammerte Zeichenkette, und diese wird dann mit net.isIP getestet. Dieser Aufruf gibt für einen geklammerten Wert null zurück, sodass die Verzweigung, die die Prüfungen auf private Adressen enthält, vollständig übersprungen wird. Der Schutz greift daraufhin auf das Auflösen des Hostnamens zurück; da es sich bei der geklammerten Zeichenkette um keinen auflösbaren Namen handelt, werden keine Adressen zurückgegeben und das Ziel als sicher gemeldet. Der HTTP-Client entfernt anschließend die Klammern und stellt eine Verbindung her. Da die Adresse in IPv4-mapped-Darstellung angegeben sein kann, führt derselbe Pfad zu jedem beliebigen IPv4-Ziel, das von den Loopback- und privaten Adressprüfungen eigentlich ausgeschlossen werden sollte, einschließlich link-lokaler Metadatenendpunkte. isPrivateIPv6 berücksichtigt ebenfalls keine ::ffff:-Präfixe, sodass die gemappte Form selbst dann bestehen würde, wenn die Klammern entfernt würden. Das Fetch-Ziel wird als Tool-Argument bereitgestellt; daher kann ein Angreifer, der den Einfluss auf das hat, was vom Modell angefordert wird, interne Antworten zurück in den Model-Kontext lesen.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.