GHSA-qw47-mcm5-934w - A2A Java SDK has a fail-open default task authorization
Draft text for GHSA-qw47-mcm5-934w. The body below drops into the GitHub advisory description
field; the metadata block maps to the form fields. Set the patched version at release; publish
when the fix ships._
---
- **Ecosystem:** Maven
- **Affected package:** `org.a2aproject.sdk:a2a-java-sdk-server-common` (task store / authorization)
- **Affected versions:** `<= 1.2.0.Final` (and `1.2.1.Final-SNAPSHOT` on `main` prior to the fix)
- **Patched version:** _(the release that carries the fix, e.g. 1.2.1.Final)_
- **CWE:** CWE-1188 (Insecure Default Initialization), CWE-862 (Missing Authorization)
- **Severity:** High
- **CVSS v3.1:** `CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N` (7.5, High)
---
## Details
The default task store performs no authorization on task reads. `InMemoryTaskStore`'s no-arg
constructor sets `authorizationProvider = null`, and `InMemoryTaskStore.get(String taskId)` is a
bare map lookup with no authorization check regardless of provider:
```java
public InMemoryTaskStore() {
this.authorizationProvider = null; // default wiring
}
@Override
public @Nullable Task get(String taskId) {
return tasks.get(taskId); // no owner / caller check
}
```
Authorization is enforced only when the application both supplies a `TaskAuthorizationProvider`
*and* routes requests through `AuthorizationRequestHandlerDecorator` (via CDI), which checks
ownership before delegating. A server that uses the default store, or wires
`DefaultRequestHandler.builder().build()` manually, or integrates through a non-CDI stack (e.g.
Spring), never reaches that check. The safe posture is therefore opt-in and the shipped default is
the unsafe one. A caller can read a task created by another caller simply by knowing or guessing
its id.
## Summary
With the SDK's default configuration, task reads are not authorized: any caller can retrieve a
task (including its status, context, message history, and artifacts) created by another caller,
by supplying the task id.
HIGH
Severity & confidence
Source severityhigh
Platform severityhigh
Confidencemedium
Exploitationunknown
CVSS7.5
Affected
Vendorsorg.a2aproject.sdk:a2a-java-sdk-server-common
Productsorg.a2aproject.sdk:a2a-java-sdk-server-common
Reporting sources (1)
GitHub Security Advisories
Timeline & provenance
Published2026-10-20T21:05:09
Last updated2026-10-21T03:53:30
Ingested2026-10-20T21:09:16
FreshnessNEAR-REAL-TIME
Threat typeadvisory
Recommended action
Review the advisory and upgrade affected packages to the first patched version.
Next steps
- Identify affected systems in your environment.
- Apply the vendor patch or mitigation guidance.
- Review logs for indicators described in the advisory.
- Follow the affected vendor/product to track updates.
Confidence explanation
Reported by a single or secondary source; treat as indicative, verify before acting.
Source type: vendor ยท Original: GitHub Security Advisories