CVE-2026-111764
7.5HighPublished 20 Oct 2026 · NVD status: Received · AI triage by gemini-3.8-flash
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
- Impact
- High impact on confidentiality
- Weakness
- CWE-862, CWE-1188
Impact
Unauthenticated remote attackers can read other callers' task status, message history, context IDs, and artifacts if they know or guess the task ID. They only need network access to exposed default or reference transport endpoints.
Root cause
The default InMemoryTaskStore no-argument constructor leaves the authorization provider null, allowing read operations to return tasks without verifying the caller.
Affected systems
A2A Java SDK prior to 1.3.0.Final
CVSS v3.1 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Fix & remediation
Upgrade A2A Java SDK dependency to version 1.3.0.Final. If updating immediately is not possible, explicitly configure a TaskAuthorizationProvider and wrap handlers with AuthorizationRequestHandlerDecorator.
AI-suggested. Run it in staging first and check it against the vendor advisory. Why?
NVD description
A2A Java SDK is the official Java SDK for the Agent2Agent (A2A) Protocol. Prior to 1.3.0.Final, the default InMemoryTaskStore configuration performs no authorization on task reads: the no-argument constructor sets authorizationProvider to null, and InMemoryTaskStore.get(String taskId) returns the stored task without checking the caller or owner. Authorization depends on supplying a TaskAuthorizationProvider and routing requests through AuthorizationRequestHandlerDecorator, whether installed through CDI or explicitly by the application. Default store wiring and manually constructed DefaultRequestHandler.builder().build() handlers, including integrations such as Spring, leave task reads unprotected when no effective authorization-provider and decorator check is installed. In a multi-caller deployment using the default configuration, a caller who knows or guesses another caller's task ID can retrieve the task status, context ID, message history, and artifacts. The default/reference transport endpoints do not enforce authentication, so the task-read disclosure is reachable by an unauthenticated caller rather than requiring a privileged account. This issue is fixed in version 1.3.0.Final.
References
- https://github.com/a2aproject/a2a-java/commit/efb4e985e99390c4fc1f78c0a187a4254c0a2553
- https://github.com/a2aproject/a2a-java/pull/1095
- https://github.com/a2aproject/a2a-java/releases/tag/v1.3.0.Final
- https://github.com/a2aproject/a2a-java/security/advisories/GHSA-qw47-mcm5-934w
- https://github.com/a2aproject/a2a-java/security/advisories/GHSA-qw47-mcm5-934w