CVE-2026-111763
ŚrednieCVSS 5.7Streszczenie
A2A Java SDK przed wersją 1.3.0.Final pozwala złośliwemu lub przejętemu zdalnemu agentowi spowodować, że domyślny klient oparty na JDK przekaże skonfigurowany klucz API do serwera strony trzeciej. AuthInterceptor używa nazwy z APIKeySecurityScheme.name() z zdalnego AgentCard jako nazwy nagłówka HTTP bez sprawdzenia, że zadeklarowana lokalizacja to HEADER, a JdkA2AHttpClient stosuje followRedirects(NORMAL), więc przekierowanie cross-origin kontrolowane przez agenta przenosi nagłówek z poświadczeniami.
Ocena ryzyka
Klucz API skonfigurowany dla agenta może zostać ujawniony stronie trzeciej, co może prowadzić do nieautoryzowanego dostępu do usług. Ryzyko dotyczy aplikacji klienckich używających A2A Java SDK z skonfigurowanymi poświadczeniami API key.
Rekomendacja
Zaktualizuj A2A Java SDK do wersji 1.3.0.Final lub nowszej. Unikaj konfigurowania kluczy API dla niezaufanych agentów i rozważ ograniczenie przekierowań.
Inne podatności w A2A Java SDK
Zobacz wszystkie- CVE-2026-111765Wysokie
W A2A Java SDK od wersji 1.3.0.Final przed 1.3.2.Final synchroniczna ścieżka POST w AndroidA2AHttpClient nadpisuje ustawienie wyłączonych przekierowań wartością followRedirects=true z PostBuilder. JSONRPCTransport i RestTransport dodają nagłówki uwierzytelniania z interceptora i wywołują synchroniczne post() bez wyłączania przekierowań, co ujawnia klucz API lub token innemu organowi przy przekierowaniu.
- CVE-2026-111764Wysokie
W A2A Java SDK przed wersją 1.3.0.Final domyślna konfiguracja InMemoryTaskStore nie wykonuje autoryzacji przy odczycie zadań: konstruktor bezargumentowy ustawia authorizationProvider na null, a get(String taskId) zwraca zadanie bez sprawdzania wywołującego lub właściciela. W konfiguracji domyślnej wywołujący znający identyfikator zadania innego wywołującego może odczytać status, kontekst, historię wiadomości i artefakty, a endpointy transportu nie wymuszają uwierzytelniania.
- CVE-2026-111762Średnie
A2A Java SDK w wersjach przed 1.3.0.Final ma podatność w RestHandler.parseRequestBody, która powoduje logowanie całego ciała żądania JSON na poziomie SEVERE, gdy parsowanie protobuf zawiedzie. Gdy powiadomienia push są włączone, może to ujawnić tokeny i dane uwierzytelniające w logach serwera.
- CVE-2026-111761Średnie
A2A Java SDK w wersjach przed 1.3.0.Final ma podatność w BasePushNotificationSender, która wysyła dane zadania na adres URL bez walidacji miejsca docelowego, ograniczeń schematu ani limitów przekierowań. Nieuwierzytelniony atakujący może zarejestrować dowolny adres docelowy, powodując wysyłanie żądań z serwera do wewnętrznych lub lokalnych zasobów.
Oryginalny opis (angielski, źródło NVD)
A2A Java SDK is the official Java SDK for the Agent2Agent (A2A) Protocol. Prior to 1.3.0.Final, a malicious or compromised remote agent can cause the default JDK-based client to forward a configured API key to a third-party server. When a client application configures credentials through `CredentialService`, `AuthInterceptor.intercept` in `client/transport/spi/src/main/java/org/a2aproject/sdk/client/transport/spi/interceptors/auth/AuthInterceptor.java` uses `APIKeySecurityScheme.name()` from the remote AgentCard directly as the HTTP header name containing the credential, without checking that the declared location is HEADER. JdkA2AHttpClient uses followRedirects(NORMAL), so an agent-controlled cross-origin redirect forwards the custom credential-bearing header even when the standard Authorization header is stripped. The attack requires configured API key credentials for the agent's security scheme and control of the agent's AgentCard and redirect response, but no additional client privileges. This issue is fixed in version 1.3.0.Final.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

