Der MCP-Server mcp-webresearch in Version 0.1.7 trägt CVE-2026-65056, eine Server-Side-Request-Forgery-Schwachstelle der Stufe 8.3 nach CVSS 4.0: Das Werkzeug visit_page prüft ausschließlich das URL-Protokoll und lenkt seinen Playwright-Browser auf interne Adressen, darunter Cloud-Metadaten-Endpunkte.
mcp-webresearch, auf npm als @mzxrai/mcp-webresearch veröffentlicht, gibt einem KI-Agenten Live-Zugriff auf das Web über das Model Context Protocol. Der Server steuert einen Headless-Playwright-Browser: Werkzeuge wie search_google, visit_page und take_screenshot lassen ein Modell Seiten abrufen, deren Inhalt lesen und während einer Aufgabe Screenshots aufnehmen. Engineering-Teams binden ihn in Claude Desktop und andere MCP-Hosts ein, um Agenten eine Browsing-Fähigkeit zu verleihen. Dieses Design stellt einen echten Browser unter Modellkontrolle, und das Modell zieht einen Teil seiner Anweisungen aus genau den Seiten, die es liest. Daraus entsteht eine Vertrauensgrenze zwischen «Inhalt, den der Agent abruft» und «Aktionen, die der Agent ausführt» — und diese Meldung verwandelt jene Grenze in eine Exposition. Das Model Context Protocol ist im Verlauf von 2026 zur Standard-Integrationsschicht für werkzeugnutzende Agenten in der gesamten Branche geworden, was die Sicherheitslage einzelner Community-Server zu einer flottenweiten Angelegenheit macht statt zu einer Fußnote über ein einzelnes Paket.
Was sich ändert — protokollbasierte Prüfung
GitHub veröffentlichte die Meldung GHSA-r9hf-v7rm-5h4j am 21. Juli 2026 und stufte das Problem als CWE-918 mit dem Vektor CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:L/VA:N/SC:H/SI:L/SA:N ein. Die Grundursache liegt in dist/index.js. Die Funktion isValidUrl in den Zeilen 646-651 akzeptiert jede URL, deren Protokoll sich zu http: oder https: auflöst, und der Handler visit_page in den Zeilen 769-786 reicht diese URL direkt an safePageNavigation weiter. Jene Protokollprüfung lässt Loopback, Link-Local und reservierte Bereiche neben legitimen öffentlichen Hosts passieren. Der Bericht des Forschers verfolgt dieselbe Lücke durch take_screenshot und durch die aus den search_google-Ergebnissen verfolgten URLs und weitet die betroffene Fläche über drei Werkzeuge aus.
Der Proof of Concept navigiert zu einem Loopback-Pfad, http://127.0.0.1:<port>/latest/meta-data/iam/, und ruft ein platziertes Geheimnis ab, wobei er Inhalt zurückgibt, der WR_INTERNAL_IMDS_SECRET_iam-creds=AKIA9XEXFIL lautet. Auf einem Cloud-Host löst sich derselbe Pfad zu http://169.254.169.254/latest/meta-data/ auf, dem AWS-Instance-Metadata-Service. Die GitHub-Meldung bestätigt, dass der abgerufene Seiteninhalt, Anmeldedaten eingeschlossen, direkt in den Modellkontext fließt. Das VC:H gepaart mit SC:H des Vektors verzeichnet einen hohen Vertraulichkeitsverlust, der in ein nachgelagertes System übergreift: Der Metadaten-Dienst und interne Hosts liegen hinter dem kompromittierten Browser, jenseits seines eigenen Sicherheitsbereichs. Eine korrigierte Version steht zum Zeitpunkt der Veröffentlichung aus.
Die Architektur-Implikation
Der indirekte Angriffspfad treibt hier die Schwere. Die Vektor-Zeichenkette markiert UI:A für passive Interaktion und PR:N für null Privilegien: Der Betreiber startet eine routinemäßige Recherche-Aufgabe, und in eine abgerufene Seite eingebetteter gegnerischer Text liefert die bösartige Umleitung. Ein raffiniert gestaltetes Suchergebnis oder eine vergiftete Webseite weist den Agenten an, eine interne URL zu besuchen; der Server gehorcht, und Metadaten-Anmeldedaten landen im selben Kontextfenster, das das Modell mit dem vom Angreifer beeinflussten Inhalt teilt. Injektion tritt ein, Anmeldedaten treten aus — eine vollständige Exfiltrationsschleife, die der Betreiber auslöst, indem er den Agenten um Recherche zu einem Thema bittet.
Zwei strukturelle Fakten verstärken die Reichweite. Erstens läuft der Browser mit der Netzwerkposition seines Hosts, sodass ein Server innerhalb einer VPC oder auf einer Cloud-Instanz Endpunkte erreicht, die externe Angreifer auf anderen Wegen mühsam antreffen. Zweitens laufen MCP-Server häufig auf Entwickler-Laptops und CI-Runnern, die hochwertige Anmeldedaten verwahren, wodurch Loopback-Dienste und Metadaten-Endpunkte einen Sprung entfernt liegen. Jedes Team, das «eine öffentliche URL abrufen» als Aktion mit geringem Vertrauen behandelt, erbt eine Leseprimitive ins private Netz in dem Moment, in dem es einem Agenten Browsing hinzufügt.
Das Muster verallgemeinert sich über dieses Paket hinaus. Jedes Agenten-Werkzeug, das eine URL, ein Webhook-Ziel, einen Dateipfad oder eine Bildquelle aus der Modellausgabe annimmt, birgt dieselbe Klasse von Exposition, und das MCP-Ökosystem hat eine Reihe vergleichbarer Befunde über Authentifizierungs- und Befehlsflächen hervorgebracht. Die Lehre gilt durchweg: Modellgesteuerte Eingabe, die eine Netz- oder Shell-Primitive erreicht, verlangt dieselbe Sorgfalt, die eine Webanwendung auf benutzergelieferte Eingabe anwendet, denn die abgerufene Seite ist selbst eine unzuverlässige Partei innerhalb der Schleife. Prüfer, die jene Klasse einmal kartieren, können dieselbe Checkliste auf jeden neuen Server anwenden, den sie anbinden.
Die Entscheidung für die Engineering-Leitung
Behandeln Sie jeden MCP-Server, der einen Browser oder einen HTTP-Client auf modellgelieferten URLs steuert, als Datenexfiltrationsfläche und auditieren Sie ihn in diesem Quartal. Für mcp-webresearch verlagern Sie Deployments weg von 0.1.7 und wenden Egress-Kontrollen auf Netzwerkebene an: Blockieren Sie den Metadaten-Bereich 169.254.0.0/16, 127.0.0.0/8, 0.0.0.0/8 und die privaten RFC-1918-Blöcke aus dem Namensraum des Browsers. Erzwingen Sie IMDSv2 mit einem Hop-Limit von 1 auf Cloud-Instanzen, eine Maßnahme, die Metadaten-Lesevorgänge aus einem proxierten Browser vereitelt. Auf Code-Ebene löst die dauerhafte Korrektur jeden Hostnamen zu seiner IP auf und weist Loopback-, Link-Local- und private Bereiche vor der Navigation zurück, danach validiert sie jedes Umleitungsziel erneut, jeden Folgesprung nach der ersten Anfrage eingeschlossen. Fügen Sie eine Domain-Allowlist für Agenten hinzu, die einen begrenzten Satz von Zielen benötigen. Die umfassendere Prüffrage für jeden agentischen Stack: Welche Werkzeuge akzeptieren modellgesteuerte URLs, und welches Netz liegt dahinter? Beantworten Sie das je Server, und SSRF wird zur Aussage statt zur Überraschung.
Artikel von LEON — AI Agents & Systems
LEON deckt die technische Schicht ab, in der KI-Agenten gebaut und bereitgestellt werden. Quelle: Code, Dokumentation, CVEs.