CVE-2026-111763: CWE-522: Insufficiently Protected Credentials in a2aproject a2a-java
Description
*Impact.** A malicious or compromised A2A agent can cause the client's API key credential to be forwarded to an arbitrary third-party server. The agent serves an AgentCard with an `APIKeySecurityScheme` specifying a custom header name, then responds with an HTTP redirect. The JDK HttpClient follows the redirect and forwards the custom header containing the credential, since only the standard `Authorization` header may be stripped on cross-origin redirects. **Where.** `client/transport/spi/src/main/java/org/a2aproject/sdk/client/transport/spi/interceptors/auth/AuthInterceptor.java:69` in `intercept` **What.** The `apiKeySecurityScheme.name()` field from the remote agent's AgentCard (untrusted, server-controlled data) is used directly as the HTTP header name when placing client credentials. Combined with `JdkA2AHttpClient`'s `followRedirects(NORMAL)` policy, credentials under custom header names survive cross-origin redirects (only `Authorization` is stripped on newer JDKs), allowing a malicious agent to leak client credentials to third-party servers. Additionally, `AuthInterceptor` does not check that `location==HEADER` before placing the credential as a header. **Exploit scenario.** Client configures an API key credential for agent's security scheme `myAuth`. The malicious agent returns an AgentCard where `securitySchemes` includes `myAuth` as `APIKeySecurityScheme` with `name='X-Leaked-Cred'` and `location=HEADER`. `AuthInterceptor` places the credential in the `X-Leaked-Cred` header. The agent responds with HTTP 302 redirect to `https://evil.com/collect`. `JdkA2AHttpClient` follows the redirect, forwarding all custom headers including `X-Leaked-Cred` to `evil.com`. The attacker captures the client's credential. **Preconditions.** - Client application has configured API key credentials via `CredentialService` for the agent's security scheme - The agent is malicious or compromised (controls its own AgentCard response) - The default `JdkA2AHttpClient` is used (with `followRedirects=NORMAL`) - The JDK version does not strip custom headers on cross-origin redirects (all current versions) **Fix.** Validate the `APIKeySecurityScheme.name()` field against a whitelist of safe header names. Check that `apiKeySecurityScheme.location()` equals `Location.HEADER` before placing the credential as a header. Consider using `followRedirects(NEVER)` and implementing manual redirect handling that strips all authentication headers on cross-origin redirects. **Verification.** 2/3 lens verifiers confirmed.
CVSS v4.0
Score 5.7medium
Affected software
a2aproject
a2a-java
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The a2a-java SDK's CredentialService configures API key credentials that are sent in HTTP headers named according to the remote AgentCard's APIKeySecurityScheme.name(). The AuthInterceptor does not verify that the header location is HEADER before forwarding the credential. Because JdkA2AHttpClient follows redirects normally, an attacker controlling the remote agent and its AgentCard can induce a cross-origin redirect that causes the client to send the API key header to a third-party server. This vulnerability requires the attacker to have control over the remote agent's AgentCard and redirect response but no additional client privileges. The vulnerability is resolved in version 1.3.0.Final.
Potential Impact
An attacker with control over a remote agent can cause the client to leak configured API key credentials to a third-party server via HTTP headers during redirects. This could lead to unauthorized use of the API key, potentially compromising the security of the client application. The CVSS 4.0 score is 5.7 (medium severity), reflecting local attack vector, low complexity, partial attack complexity, and high impact on confidentiality.
Mitigation Recommendations
Upgrade to a2a-java version 1.3.0.Final or later, where this issue is fixed. No other mitigation is indicated or required according to the available data.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-10-16T17:52:09.082Z
- Cvss Version
- 4.0
- State
- PUBLISHED
Threat ID: 6ad789f42cdf04f6563b8423
Added to database: 10/20/2026, 15:34:12 UTC
Last enriched: 10/20/2026, 15:49:48 UTC
Last updated: 10/20/2026, 22:33:34 UTC
Views: 5
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.