Mittel

A2A Java SDK sendet Client-Anmeldeinformationen unter servergesteuertem HTTP-Header-Namen und ermöglicht Offenlegung via Redirect

  • Veröffentlicht: 20.10.2026
  • Aktualisiert: 21.10.2026 00:18

Auswirkung

Ein bösartiger oder kompromittierter A2A-Agent kann bewirken, dass der API-Schlüssel des Clients an einen beliebigen Drittanbieter-Server weitergeleitet wird. Der Agent liefert eine AgentCard mit APIKeySecurityScheme aus, die einen benutzerdefinierten Header-Namen festlegt, und antwortet anschließend mit einer HTTP-Weiterleitung. Der JDK HttpClient folgt dieser Weiterleitung und leitet den benutzerdefinierten Header mit den Anmeldedaten weiter, da bei domänenübergreifenden Weiterleitungen standardmäßig nur der Header Authorization entfernt werden kann.

Betroffene Komponente

client/transport/spi/src/main/java/org/a2aproject/sdk/client/transport/spi/interceptors/auth/AuthInterceptor.java:69 in intercept

Ursache

Das Feld apiKeySecurityScheme.name() aus der AgentCard des Remote-Agenten (nicht vertrauenswürdige, vom Server kontrollierte Daten) wird beim Übertragen der Client-Anmeldedaten direkt als HTTP-Header-Name übernommen. In Kombination mit der Richtlinie followRedirects(NORMAL) von JdkA2AHttpClient bleiben Anmeldeinformationen unter benutzerdefinierten Header-Namen bei ursprungsübergreifenden Weiterleitungen erhalten (nur Authorization wird auf neueren JDK-Versionen verworfen). Dies ermöglicht es einem bösartigen Agenten, Client-Anmeldedaten an Drittanbieter-Server abzugreifen. Zudem überprüft AuthInterceptor nicht, ob location==HEADER erfüllt ist, bevor die Anmeldedaten als Header gesetzt werden.

Angriffsszenario

  1. Der Client konfiguriert einen API-Schlüssel für das Sicherheitsschema myAuth des Agenten.
  2. Der manipulierte Agent gibt eine AgentCard zurück, in der securitySchemes myAuth als APIKeySecurityScheme mit name='X-Leaked-Cred' und location=HEADER enthält.
  3. AuthInterceptor platziert die Zugangsdaten im Header X-Leaked-Cred.
  4. Der Agent antwortet mit einer HTTP-302-Weiterleitung auf https://evil.com/collect.
  5. JdkA2AHttpClient folgt der Weiterleitung und übermittelt alle benutzerdefinierten Header einschließlich X-Leaked-Cred an evil.com. Der Angreifer erbeutet so die Zugangsdaten des Clients.

Voraussetzungen

  • Die Client-Anwendung hat API-Schlüssel-Anmeldedaten über CredentialService für das Sicherheitsschema des Agenten eingerichtet.
  • Der Agent ist bösartig oder kompromittiert (er kontrolliert seine eigene AgentCard-Antwort).
  • Es wird die Standardkonfiguration JdkA2AHttpClient (mit followRedirects=NORMAL) genutzt.
  • Die eingesetzte JDK-Version verwirft benutzerdefinierte Header bei domänenübergreifenden Weiterleitungen nicht (alle aktuellen Versionen).

Behebung

Validieren Sie das Feld APIKeySecurityScheme.name() gegen eine Liste sicherer Header-Namen. Stellen Sie sicher, dass apiKeySecurityScheme.location() dem Wert Location.HEADER entspricht, bevor Sie die Zugangsdaten in Header einfügen. Erwägen Sie die Verwendung von followRedirects(NEVER) sowie eine manuelle Weiterleitungsbehandlung, die Authentifizierungs-Header bei Cross-Origin-Weiterleitungen verwirft.

Verifizierung

Durch Lens-Verifier 2/3 bestätigt.

Was zu tun ist

Validieren Sie das Feld APIKeySecurityScheme.name() anhand einer Liste sicherer Headernamen. Stellen Sie sicher, dass apiKeySecurityScheme.location() dem Wert Location.HEADER entspricht, bevor Anmeldeinformationen als Header gesetzt werden. Ziehen Sie die Verwendung von followRedirects(NEVER) und die Implementierung einer manuellen Weiterleitungsbehandlung in Betracht, die alle Authentifizierungs-Header bei domänenübergreifenden Weiterleitungen entfernt. Aktualisieren Sie auf Version 1.3.0.Final oder höher.

Betroffene Software

Klicken Sie auf eine Technologie, um alle zugehörigen Schwachstellen anzuzeigen.

PlattformPaketAnfällige VersionenBehoben in
Java / Kotlin (Maven) org.a2aproject.sdk:a2a-java-sdk-parent < 1.3.0.Final 1.3.0.Final

Verweise

CVSS-Wert -
CVSS-Vektor
CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Schwäche (CWE)
CWE-522
Plattform
Java / Kotlin (Maven)
Paket
org.a2aproject.sdk:a2a-java-sdk-parent
Veröffentlicht
20.10.2026
Aktualisiert
21.10.2026 00:18

Quellen und Lizenzen · Von DockRay bearbeitet oder übersetzt; Rechte und Lizenzen der Quellen bleiben erhalten.

OSV / GitHub Advisory Database - GHSA-9rhm-2h4x-jwmx - CC BY 4.0

Schwachstellenhistorie: org.a2aproject.sdk:a2a-java-sdk-parent

Alle veröffentlichten Schwachstellen dieses Pakets (Java / Kotlin (Maven)), neueste zuerst. Zeigt, ob es ein einmaliger Ausrutscher ist oder ein Paket, das man im Auge behalten muss.

Dies ist die einzige bekannte Schwachstelle dieses Pakets.

Erkennen Sie Schwachstellen in Ihrer Anwendung

Mit der DockRay-Integration und aktivierter Softwareinventarisierung prüft DockRay gemeldete Komponentenversionen auf bekannte Schwachstellen und benachrichtigt Sie über bestätigte Treffer. Die Abdeckung hängt von der unterstützten Technologie und den verfügbaren Meldungen ab.

Anwendung verbinden
DockRay Newsletter

Anwendungssicherheit in Ihrem Postfach

Wichtige Schwachstellen, konkrete Empfehlungen und praktische Tipps für Ihre Anwendungen. Wählen Sie Ihre Technologien und verfolgen Sie, was für Ihr Projekt relevant ist.

  • Eine tägliche Zusammenfassung neuer Schwachstellen, auch kritischer.
  • Benachrichtigungen über wichtige Updates.
  • Praktische Tipps zur Sicherheit und Überwachung von Anwendungen.

Leer lassen, um Meldungen zu allen Technologien zu erhalten.

Kostenlos anmelden. In jeder E-Mail mit einem Klick abmelden.