🇰🇷 한글 설명
A2A Java SDK 1.3.0.Final 미만 버전에서 악의적인 원격 에이전트가 클라이언트의 API 키를 제3자 서버로 전달하도록 유도할 수 있는 취약점이 발견되었습니다. 공격자는 AgentCard의 보안 스킴 이름을 조작하고 리다이렉트를 이용해 인증 헤더를 포함한 요청을 외부로 유출할 수 있습니다.
💡 쉬운 설명
나쁜 에이전트가 사용자의 비밀 열쇠(API 키)를 몰래 다른 곳으로 보내버릴 수 있는 보안 구멍이 있습니다. 에이전트가 가짜 주소로 연결을 유도할 때 인증 정보가 함께 따라가기 때문에 발생합니다.
🇺🇸 원문 (English)
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.
📍 영향받는 시스템
A2A Java SDK 1.3.0.Final 미만 버전
⚔️ 공격 벡터
악의적인 AgentCard 설정 및 HTTP 리다이렉트를 이용한 인증 헤더 유출
🛡️ 대응 방법
A2A Java SDK를 1.3.0.Final 이상 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 라이브러리 버전이 1.3.0.Final보다 낮은지 확인하십시오.
mvn dependency:list | grep 'a2aproject:a2a-java-sdk'
💻 영향받는 소프트웨어
IBM WebSphere Application Server