Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAndroid A2A client configured with API-key credential
-
DeliveryAttacker induces cross-authority HTTP redirect
-
ExploitSynchronous POST follows redirect (followRedirects left true)
-
ExecutionOkHttp retains nonstandard auth headers to new authority
-
ImpactFull API key/token disclosed to attacker
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V6 - Authentication Credential protection in transit/storage
|
| Exploitation Conditions | Requires use of the AndroidA2AHttpClient (v1.3.0.Final-1.3.1.Final) via JSONRPCTransport or RestTransport on the synchronous post() path, with AuthInterceptor configured to inject a credential in a nonstandard header (X-API-Key, API-Key, X-Auth-Token, or X-Authentication) - standard Authorization headers are stripped by OkHttp on cross-authority redirect and are NOT affected. Exploitation also requires an attacker-controlled or compromised cross-authority redirect/front-door operating in a different trust domain (a fully malicious initial origin gets the credential on the first request regardless). Limiting factors: the leak only occurs when followRedirects is left at its default true (explicit followRedirects(false) prevents it, and the fix sets the default to false); the async/SSE paths are not the vector; autonomous clients leak without interaction while user-invoked workflows may require user action; impact is limited to disclosure of the configured key/token with no further integrity/availability/RCE impact. |
| Impact | The supplied CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N, base 7.5) reflects a network-reachable, low-complexity, confidentiality-only flaw. However, the raw score overstates turnkey exploitability: real-world exploitation requires an attacker to control or compromise a redirect/front-door target in a different trust domain so that the Android client follows a cross-authority redirect and leaks the API key - a completely malicious initial origin already obtains the credential on the first request without needing this bug. No EPSS probability, CISA KEV status, or SSVC decision data was provided in the input, so automatable/exploitation-maturity signals cannot be weighed. There is no public exploit identified at time of analysis (the referenced PR #1141 contains fix-verification redirect tests, not a weaponized exploit - do not conflate the two). Net: this is a legitimate credential-leak defect in a specific client configuration rather than a mass-exploited, high-urgency issue; impact is bounded to disclosure of a configured API key/token (no integrity, availability, code execution, or host compromise), and the affected product has a small deployment footprint, so prioritize patching for teams using the Android A2A client with configured credentials but treat broad emergency urgency as unsupported by available signals. |
| Exploit ScenarioDerived | An autonomous A2A Java agent on Android (v1.3.0.Final-1.3.1.Final) is configured with an API key and calls an A2A endpoint via JSONRPCTransport/RestTransport synchronous post(); the endpoint or a compromised front-door returns an HTTP redirect to an attacker-controlled authority. Because the synchronous POST path leaves followRedirects=true and Android's repackaged OkHttp retains nonstandard headers (X-API-Key, API-Key, X-Auth-Token, X-Authentication) across authorities, the full credential is transmitted to the attacker's host. No public exploit is identified; exploitation is low-complexity (AC:L) and needs no attacker authentication (PR:N), and autonomous clients require no human interaction. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 20, 2026
Credential disclosure in the A2A Java SDK Android HTTP client versions 1.3.0.Final and 1.3.1.Final allows unauthenticated remote attackers to leak a configured API key or token to a different authority when a synchronous POST follows a cross-authority redirect. The root cause is a default followRedirects=true that overrides the disabled-redirect setting in AndroidA2AHttpClient.createConnection(), and AuthInterceptor-injected nonstandard headers (X-API-Key, API-Key, X-Auth-Token, X-Authentication) are retained by Android's repackaged OkHttp across redirects even though standard Authorization headers are stripped. No public exploit identified at time of analysis; the vendor-released patch is 1.3.2.Final, which sets the default to false.
RemediationAI
Upgrade to A2A Java SDK 1.3.2.Final (release tag https://github.com/a2aproject/a2a-java/releases/tag/v1.3.2.Final), which changes the Android client default to followRedirects=false; the upstream fix is in PR #1141 and commits 2a36530d75e11bcf9b81f543464dbe193ca6478e and 3ae82912a106a6765d7b78042b0ef96e6c2e29b5. If immediate upgrade is not possible, explicitly call followRedirects(false) on the PostBuilder for synchronous POST requests, or configure AuthInterceptor to use the standard Authorization header where supported, since OkHttp strips that header on cross-authority redirects; note that disabling redirects may break legitimate redirect-dependent integrations. Restricting outbound redirect targets at the network layer or using an allowlist of trusted authorities reduces exposure but requires ongoing maintenance and does not fix the client-side default. The async/SSE paths are not affected by this vector.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in maven, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The A2A Java SDK implements the Agent2Agent protocol client, with JSONRPCTransport and RestTransport adding authentication headers via AuthInterceptor and invoking the synchronous post() path. AndroidA2AHttpClient wraps a repackaged OkHttp client; its createConnection() method previously set followRedirects to false, but the PostBuilder default of true overrode that setting, reintroducing a credential-redirect issue (CWE-522, insufficiently protected credentials). OkHttp's redirect handling strips the standard Authorization header on cross-authority redirects but does not strip nonstandard headers such as X-API-Key, API-Key, X-Auth-Token, or X-Authentication, so a configured secret is forwarded to the redirect target. The affected component is the extras/http-client-android module (CPE cpe:2.3:a:a2aproject:a2a-java), and the async/SSE paths are not the vector. The fix in PR #1141 changes the default followRedirects value to false and adds redirect-behavior tests; the vendor advisories reference GHSA-4fpj-g9jf-9rgg and GHSA-9rhm-2h4x-jwmx.
Know when A2A Java gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Network-reachable, low-complexity credential disclosure needing no attacker authentication (PR:N) once a cross-authority redirect occurs; confidentiality-only impact, so I:N/A:N and scope unchanged.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
A2A Java SDK is the official Java SDK for the Agent2Agent (A2A) Protocol. Starting in version 1.3.0.Final and prior to version 1.3.2.Final, the AndroidA2AHttpClient synchronous POST path overrides the disabled-redirect setting in AndroidA2AHttpClient.createConnection() with the PostBuilder default followRedirects value of true, leaving a residual of the earlier credential-redirect fix. JSONRPCTransport and RestTransport add interceptor-produced authentication headers and call synchronous post() without disabling redirects. AuthInterceptor permits X-API-Key, API-Key, X-Auth-Token, and X-Authentication headers; Android's repackaged OkHttp strips Authorization on cross-authority redirects but retains these nonstandard headers, disclosing a complete configured API key or token to another authority. The additional exposure applies when redirect or front-door behavior is compromised separately from the credential-handling component, or those components operate in different trust domains; a completely malicious initial origin already receives the credential on the first request. Autonomous clients require no human action, while user-invoked workflows can require interaction. Explicit followRedirects(false) prevents the redirected request. The demonstrated impact is credential disclosure, not subsequent credential use, integrity or availability impact, code execution, or host compromise. This issue is fixed in version 1.3.2.Final.
Articles & Coverage 1
Technical POC Analysis
CWE-522, Insufficiently Protected Credentials, realized as a default-value override that silently re-enabled a security control the 1.3.0.Final fix had added.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
The A2A Java SDK Android HTTP client in versions 1.3.0.Final and 1.3.1.Final can leak configured API keys or tokens to an unintended authority during redirected synchronous POST requests, creating a credential-exposure risk for Android applications that use it. Leadership should care because stolen credentials can grant access to downstream services, require emergency rotation, and trigger incident-response and trust-recovery costs; no public exploit identified at time of analysis.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Unauthenticated task-read disclosure in the A2A Java SDK before 1.3.0.Final lets any network caller retrieve another cal
HTTP response splitting in a2a-java 1.2.0 allows attackers who control push notification authentication credentials to i
Server-side request forgery in the A2A Java SDK before 1.3.0.Final allows an unauthenticated caller to register an attac
A2A Java SDK releases prior to 1.3.0.Final leak configured API key credentials to attacker-controlled third-party server
Cleartext credential disclosure in the A2A Java SDK prior to 1.3.0.Final writes push-notification bearer tokens and auth
Missing authorization in the A2A Java SDK (a2aproject/a2a-java) 1.2.0 allows a caller with a valid account to invoke the
EUVD-2026-105136
GHSA-4fpj-g9jf-9rgg
NVD
CVE.org
EPSS
VulDB
Exploit-DB