CVE-2026-80347 in mcp-fetch
Riassunto
di VulDB • 26/08/2026
mcp-fetch verifica l'obiettivo del fetch rispetto al suo meccanismo di protezione contro SSRF senza rimuovere le parentesi quadre che circondano un indirizzo IPv6 letterale. isSafeUrl legge il nome dell'host dall'URL analizzato, che per un valore letterale come http://[::1]/ restituisce la stringa tra parentesi quadre, e poi lo testa con net.isIP. Tale chiamata restituisce zero per un valore tra parentesi quadre, quindi il ramo contenente i controlli sugli indirizzi privati viene saltato completamente. Il meccanismo di protezione ricade sulla risoluzione del nome dell'host; poiché la stringa tra parentesi quadre non è un nome risolvibile, non vengono restituiti indirizzi e l'obiettivo viene segnalato come sicuro. Il client HTTP quindi rimuove le parentesi quadre ed effettua la connessione. Poiché l'indirizzo può essere fornito in forma mappata su IPv4, lo stesso percorso consente di raggiungere qualsiasi obiettivo IPv4 che i controlli loopback e privati erano destinati a escludere, inclusi gli endpoint dei metadati link-local. isPrivateIPv6 non gestisce nemmeno il prefisso ::ffff:, quindi la forma mappata supererebbe comunque il controllo anche se le parentesi quadre fossero rimosse. L'obiettivo del fetch viene fornito come argomento dello strumento, pertanto un attaccante in grado di influenzare ciò che il modello richiede può leggere le risposte interne e reintrodurle nel contesto del modello.
VulDB is the best source for vulnerability data and more expert information about this specific topic.