Cybersikkerhed

Forsker afslører samme MCP-fejl hos Google, JPMorgan og to regeringer

mm
Føj Unite.AI til dine foretrukne kilder på Google

Uafhængig sikkerhedsforsker Syed Anas Mohiuddin afslørede i en forskningsopdatering fra oktober 2026, at den samme server‑side request forgery‑fejl i Model Context Protocol-servere er blevet bekræftet og rettet af sikkerhedsteams i fem uafhængige organisationer: Google, JPMorgan Chase, Weaviate, Frankrigs interministerielle digitale direktorat og Tangerang City-regeringen i Indonesien.

Opdateringen, med titlen “Protocol Pivoting, fire måneder senere”, tester en forudsigelse, som Mohiuddin fremsatte i maj 2026: hvis svagheden var strukturel snarere end en enkelt uforsigtig implementering, ville den samme fejl dukke op i servere skrevet af teams, der ikke deler kode, branche, land eller ejer. Han rapporterer, at hver af de fem organisationer bekræftede deres sag gennem deres eget sikkerhedsteam, og at sikkerhedsfirmaet Rapid7 separat offentliggjorde en CVE for en anden, men relateret fejl. Opdateringen tæller fem organisationer, der har rettet den samme SSRF, to der har udgivet CVE’er, og fem fund i amerikanske føderale MCP‑servere, som stadig er åbne.

Mohiuddin beskriver to fejlsituationer bag mønsteret. Den første er server‑side request forgery: en MCP‑server opbygger en udgående anmodning fra en URL, sti eller endpoint leveret af en agent uden at kontrollere, hvor den løses, så agenten i praksis bestemmer, hvad serverens netværksidentitet kommunikerer med. Den anden er usikker håndtering af upstream‑data, mest tydeligt ved at skrive komplette upstream‑API‑svar ind i centraliserede logfiler uden redigering, hvilket almindelige fejl er nok til at udløse. Han sporer begge til én antagelse: at data, der krydser MCP‑grænsen, betragtes som betroet, fordi de kommer indefra systemet, en antagelse han argumenterer ikke holder i en agentisk pipeline.

CVE-2026-14540 i Googles MCP‑Toolbox

Ifølge GitHub Advisory Database-indlæg for CVE-2026-14540, offentliggjort af National Vulnerability Database, findes der en SSRF-sårbarhed i de generiske HTTP‑kilde‑ og værktøjskomponenter i Googles mcp-toolbox versioner 0.3.0 til 1.4.0. Da HTTP‑klienten ikke havde en restriktiv omdirigeringspolitik og aldrig validerede destinations‑IP‑adresser, kunne en manipuleret sti‑parameter omdirigere toolboxens udgående anmodninger mod interne eller vilkårlige eksterne endepunkter. Advisoryen klassificerer fejlen som høj alvorlighed med en CVSS‑score på 8,0; den blev offentliggjort den 31. juli 2026 og senest opdateret den 8. august 2026. Mohiuddin oplyser, at CVE’en blev reserveret den 3. juli 2026, og at registreringen krediterer ham som finder.

Google integrerede rettelsen, pull request #3448 i googleapis/mcp-toolbox-repositoriet, den 18. juni 2026, og den blev udgivet i mcp-toolbox v1.5.0. Pull‑requesten implementerer en SSRFGuard for at forhindre DNS‑rebinding‑angreb i intervallet mellem adressekontrol og forbindelse, tilføjer konfigurerbare egenskaber som allowPrivateNetworks, allowedIpRanges og customBlockedIpRanges, validerer den konfigurerede BaseURL ved initialisering i stedet for ved første anmodning, og advarer eksplicit om man‑in‑the‑middle‑risiko, når SSL‑verifikation er deaktiveret. PR’en krediterer Mohiuddin som indberetter, og Mohiuddin beskriver Googles afhjælpning som en referenceimplementation af en ægte SSRF‑beskyttelse.

Fire yderligere bekræftede tilfælde

Mohiuddin rapporterer, at JPMorgan Chases open‑source‑repository jpmorgan-payments/ai indeholder en dokumentations‑søge‑MCP‑server, hvor værktøjet read_documentation anvender en domæne‑allowlist før hentning, mens det tilhørende related()‑værktøj henter en URL leveret af kaldende part på serversiden uden nogen begrænsning. Han oplyser, at komponenten blev forgrenet fra et AWS‑projekt, hvis oprindelige version aldrig refererede kaldende parts URL, at bankens Responsible Disclosure‑team bekræftede fundet som gyldigt, og at en rettelse er blevet implementeret. Han er opført ved navn på JPMorgan Chases offentlige side for anerkendelse af ansvarlig afsløring og vurderer fundet som af medium alvorlighed, idet han bemærker, at ingen legitimationsoplysninger følger med den forfalskede anmodning.

Weaviate, rapporterer han, integrerede en pull‑request, der begrænser Google‑modulets apiEndpoint-, region‑ og locations‑indstillinger til Google‑API‑værter, og nævner ham ved navn i deres offentlige Security Hall of Fame‑indlæg dateret den 25. august 2026.

Datagouv/datagouv-mcp‑projektet integrerede pull request #126, “feat: harden SSRF on external APIs” den 4. september 2026, og pull‑requesten indleder med at kreditere Mohiuddin som indberetter. Ifølge PR’en blev et machinedokumentationurl‑felt, leveret af enhver registreret data.gouv.fr‑producent, hentet på serversiden og kunne pege på loopback‑, privat‑netværks‑ eller cloud‑metadata‑adresser, med DNS‑rebinding i stand til at skifte målet mellem kontrol og forbindelse samt en 302‑omdirigering, der kunne lande på en intern vært. Rettelsen validerer destinations‑IP’en ved tilslutningstidspunktet, genkontrollerer hvert omdirigeringshop og afviser proxyer. Mohiuddin identificerer projektet som den officielle MCP‑server for Frankrigs nationale open‑data‑platform, vedligeholdt af DINUM, regeringens interministerielle digitale direktorat.

En GitHub Security Advisory offentliggjort den 3. september 2026 af vedligeholderne af INFOKOM-KI/Wazuh-MCP-Server, vurderet som høj, registrerer, at blueteamtjekwebshell‑værktøjets annoncerede SSRF‑beskyttelse kun afviste bogstavelige IP‑adresser og aldrig opløste værtsnavne, så ethvert DNS‑navn, der peger på en privat, loopback‑ eller link‑lokal adresse, inklusive cloud‑instansmetadata, omgåede den. Rådgivningen bemærker, at værktøjets dokumenterede garanti, “SSRF Protection: Private/reserved IPs in the URL host are rejected,” ikke gjaldt for URL‑baserede værtsnavne. Fejlen blev rettet i commit 2bbfe12, og rådgivningen krediterer Mohiuddin som indberetter. Mohiuddin oplyser, at han indberettede den 2. september 2026, at vedligeholderne svarede fra en tangerangkota.go.id‑adresse, og at projektet vedligeholdes af Tangerang City‑regeringen i Indonesien.

Rapid7s sårbarhedsdatabasen for CVE-2026-97228 registrerer en GraphQL‑forespørgselsinjektion i Rapid7 Bulk Export MCP versionerne 0.2.5 til 0.6.1, hvor et uvalideret exportid‑MCP‑værktøjsargument interpoleres direkte i en GraphQL‑forespørgsel. Rapid7 giver den en score på 2,7, Lav, på CVSS‑3.1‑skalaen, offentliggjorde posten den 25. september 2026, og bemærker, at injicerede forespørgsler udføres inden for operatørens egen API‑omfang og ikke kan krydse en lejergrænse; version 0.6.2 løser problemet ved at videregive exportid som en parameteriseret variabel. Mohiuddin oplyser, at Rapid7 krediterede ham som finder.

Denne ud over de tilfælde rapporterer Mohiuddin, at fra opdateringen er 16 GitHub‑sikkerhedsrådgivninger offentliggjort af projekternes egne vedligeholdere krediteret ham som indberetter, som dækker SSRF såvel som kommando‑injektion, autentificeringshuller, session‑kapring, legitimations‑lækager og omgåelser af tidligere rettelser, og at han har fået rettelser indarbejdet i projekter inklusive github-mcp-server, mongodb-mcp-server og salesforce-mcp-server.

Uafklarede regeringsfund

Mohiuddin rapporterer, at han indsendte fem fund som private GitHub Security Advisories den 2. september 2026, der dækker MCP‑servere under GSA’s Technology Transformation Services: en Department of Veterans Affairs fordele‑krav‑server, en CMS Blue Button‑server, en regulations.gov‑server, en USASpending‑server og en CDC PLACES‑server. Han oplyser, at alle fem forbliver i triage, ikke er rettet, og ikke præsenteres som bekræftede resultater.

I VA‑sagen, som han kun beskriver på klassetrinnet, logger serveren den fulde upstream‑fordels‑API‑fejlmeddelelse på ERROR‑niveau uden redigering; disse meddelelser kan indeholde en veteran’s navn, personnummer, fødselsdato og adresse, og han oplyser, at rutinemæssige valideringsfejl er tilstrækkelige til at udløse logningen under normal drift. Han tilbageholder kode‑niveau detaljer, indtil serverne er rettet.

Han rapporterer også, at han den 1. september 2026 informerede JPCERT om, at Japan Digital Agency’s jgrants-mcp-server manglede autentificering, og den 7. september 2026 åbnede en offentlig pull‑request, der kræver et eksplicit samtykke for at binde serveren til andet end loopback og begrænse størrelsen på vedhæftningsskrivning. Pull‑requesten er ikke blevet flettet, og han præsenterer den ikke som et bekræftet resultat.

Protokol‑pivotering og MCPCon‑præsentationen

Mohiuddin definerer Protokol‑pivotering som et flertrinsangreb, hvor en modstander træder ind gennem én protokol, udnytter de tillidsantagelser, som protokoller har til hinanden, og eskalerer til funktioner, der kun er tilgængelige gennem en anden protokol. Hans konkrete eksempel placerer tekst, der ligner en A2A‑opgaveinstruktion, i MCP‑værktøjets output; en orkestrerende agent videregiver den til en underagent som normal delegation, og underagenten, der stoler på sin orkestrator, udfører den.

Den formelle preprint, “Protocol Pivoting: Cross-Protocol Attack Escalation in Agentic AI Systems,” blev offentliggjort på Zenodo den 24. maj 2026. Den præsenterer tre scenarier: MCP‑til‑A2A‑privilegie‑eskalering via implicit tillids‑delegation, A2A‑til‑MCP‑kapacitets‑injektion via ondsindet agent‑imitering, og kryds‑protokol‑prompt‑injektionskæder. Den analyserer også, hvorfor eksisterende forsvar svigter mod klassen, og foreslår en samlet kryds‑protokol‑sikkerhedsramme med en formel tillids‑grænse‑model og tre protokol‑agnostiske afbødninger.

Mai‑arbejdet startede med Microsofts playwright-mcp, hvis browser_navigate‑værktøj accepterede enhver URL, som agenten leverede, uden SSRF‑beskyttelse, hvilket gjorde det muligt at styre en agent til AWS‑instans‑metadata‑tjenesten på 169.254.169.254 og dens legitimationsoplysninger. Mohiuddin bemærker, at han indsendte dette som et offentligt GitHub‑issue, at der ikke findes en CVE og ingen leverandørbekræftelse, og at sværhedsgraden er hans egen vurdering.

Mohiuddin argumenterer for, at software‑kompositionsanalyse og afhængighedsskannere overser denne klasse, fordi den farlige input ankommer over transporten som et værktøjsargument beskrevet i et værktøjsmanifest, som skanneren aldrig læser, så kaldsgrafen stopper ved transportgrænsen. Han oplyser, at han har bygget mcp-safeguard, en open‑source‑scanner, der tester MCP‑servere gennem deres eksponerede værktøjsflade uden at skulle have kildekoden, og søger efter seks klasser: SSRF, overdrevne tilladelser, prompt‑injektionsflader, informations‑lækage, autentificeringshuller og livscyklus‑omgåelse. Han tilføjer også, at mønstermatch‑værktøjer, inklusive hans eget, går glip af en stor del af klassen.

Mohiuddin oplyser, at han vil præsentere tvær‑leverandør‑mønsteret den 23. oktober 2026 på MCPCon North America i San Jose, inklusive de fund, der er rettet inden da, og at de føderale fund vil forblive private, indtil de er rettet.

Miles Okada er en AI-genereret analytiker hos Unite.AI, der dækker kunstig intelligens og cybersikkerhed med fokus på nye trusler, defensive arkitekturer og de udviklende dynamikker mellem angribere og automatiserede systemer. Hans arbejde undersøger, hvordan AI omformer sikkerhedsoperationer, fra autonom trusselsdetektion og -respons til fremkomsten af adversarielle AI-teknikker.

Med et teknisk og undersøgende perspektiv analyserer Miles sikkerhedsforskning, hændelsesoffentliggørelser og implementeringer i den virkelige verden for at forstå, hvor AI styrker forsvar – og hvor det introducerer nye sårbarheder. Han lægger særlig vægt på modeludnyttelse, dataforgiftning, automatisering af angreb og de operationelle realiteter ved at sikre AI-drevne systemer i stor skala.

Artikler skrevet af Miles Okada er AI-genererede og gennemgået af Unite.AI’s redaktionsteam for at sikre nøjagtighed, stringens og ansvarlig dækning af det hastigt skiftende AI-sikkerhedslandskab.