Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to A2A server with low-privilege access
-
ExploitIssue concurrent cancel/completion events for one task id
-
ExecutionWin check-then-act race in saveTaskEvent state machine
-
ImpactCorrupt task state producing inconsistent terminal state
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V15 - Secure Coding and Architecture Concurrency control, locking
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an authenticated, network-reachable client able to submit task operations (PR:L) to an A2A Java server built on DefaultRequestHandler/TaskManager at version 1.2.0.Final or earlier. The specific trigger confirmed by the patch is concurrent, overlapping state-changing requests for the SAME task id - two simultaneous cancels, or a cancel racing a concurrent completion - exploiting the unserialized check-then-act in the cancel/saveTaskEvent path. Limiting factors: exploitation needs valid authenticated access and precise timing to win the race window against a single shared task, and impact is confined to task-state integrity/availability (no confidentiality exposure per VC:N); single-threaded or non-concurrent request patterns will not trigger it. |
| Impact | This is a genuinely moderate issue, not an urgent one, and the signals are largely consistent. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) with a base score of 5.3 indicates a network-reachable flaw requiring low privileges and no user interaction, but with only low integrity and low availability impact (VI:L/VA:L) and explicitly no confidentiality impact (VC:N). The vuln.today decision label is 'this_month' - a routine patch priority, not act_now or emergency. It is NOT on CISA KEV, and no EPSS probability was supplied, so exploitation likelihood cannot be quantified from the input; EPSS absence is a data gap, not a low-risk signal. No SSVC exploitation/automatable/technical-impact decision points were provided beyond the single vuln.today label. The source evidence confirms the mechanism: a check-then-act race in the task state machine (TaskManager.saveTaskEvent and the onCancelTask path) where two concurrent cancels, or a cancel racing a completion, can both observe the pre-transition state and both act, corrupting task state. One notable inconsistency: the 'Information Disclosure' tag conflicts with the authoritative CVSS vector, which sets VC:N (no confidentiality impact) - the fix addresses state-machine integrity under concurrency, not data exposure, so the disclosure framing appears unsupported by the vector and the patch. Overall: a real but low-to-moderate integrity/availability defect in a niche SDK, worth patching on a normal cycle rather than an emergency basis. |
| Exploit ScenarioDerived | An authenticated client of an A2A Java server submits two overlapping requests against the same task - for example two concurrent cancel requests, or a cancel timed against an in-flight completion event. Because the cancel path reads the task, checks it is not terminal, and only then enqueues the state-changing event without serialization, both requests can act on the stale pre-transition state and drive the task into an inconsistent terminal state. No public exploit identified at time of analysis; triggering it reliably requires precise timing of concurrent requests to the same task id. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
A race condition in the A2A Java SDK (a2aproject/a2a-java) at version 1.2.0.Final and earlier lets an authenticated, network-reachable client corrupt the state of a task by issuing overlapping state-changing requests for the same task id - most clearly two simultaneous cancel calls, or a cancel racing a concurrent completion - because the cancel path performs an unserialized check-then-act against the task store. Successful exploitation affects task-state integrity and availability (the task may be finalized on a stale view, and a synthesized failure event may be rejected once the task is already terminal), but exposes no confidentiality per the assessed vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L. Exploitation requires valid authenticated access plus precise timing against a shared task, so single-threaded or non-concurrent usage will not trigger it; no public exploit was identified at time of analysis, and vendor-released fix version 1.3.0.Final is available.
RemediationAI
Upgrade to a2a-java 1.3.0.Final, the vendor-released fix version, which serializes cancel check-then-act sequences with a per-task lock and adds state-machine validation in TaskManager.saveTaskEvent so a terminal task state cannot be overwritten by a different state; the release is published at https://github.com/a2aproject/a2a-java/releases/tag/v1.3.0.Final and the change is visible in https://github.com/a2aproject/a2a-java/pull/1045 and commit https://github.com/a2aproject/a2a-java/commit/6b8e1e085c35e970ef0048901cd25850e4791ec2. If the upgrade cannot be staged immediately, the exposure is bounded by the fact that the trigger is concurrent state-changing requests for the same task id from an authenticated client, so restricting task-operation endpoints to trusted, authenticated callers and avoiding concurrent cancel calls or a cancel issued while the same task is completing reduces the window; the trade-off is reduced client concurrency for the affected task ids, and this is a compensating measure rather than a complete fix. Confirm whether untrusted tenants can reach DefaultRequestHandler task endpoints at all, since deployments where only a single serialized dispatcher issues task operations are not exposed according to the assessed prerequisites.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in 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 is a server-side Java implementation of the Agent2Agent (A2A) protocol, where a DefaultRequestHandler dispatches incoming calls and a TaskManager persists task snapshots and TaskStatusUpdateEvents into the task store, including a replication path for distributed queue managers. The flaw is CWE-362 (concurrent execution using shared resource with improper synchronization): both the cancel handler and TaskManager.saveTaskEvent read the current task state, decide on a transition, and then act on that decision without holding a lock. The upstream fix (commit 6b8e1e085c35e970ef0048901cd25850e4791ec2, PR #1045) confirms the mechanism: it introduces a per-task lock registry (ConcurrentMap<String,Object> with computeIfAbsent and synchronized around the cancel check-then-act, entries removed afterwards to bound growth) and adds validateStateTransition checks inside saveTaskEvent for both the task-snapshot and TaskStatusUpdateEvent paths, so a task already in a terminal state cannot be overwritten by a snapshot or event carrying a different state while idempotent replays of the same final state remain permitted. The patch also wraps the synthesized FAILED event save in a try/catch so that a task already terminal is treated as final rather than raising an error. The CPE entry cpe:2.3:a:a2aproject:a2a-java:*:*:*:*:*:*:*:* describes the affected package family, and the trigger described in the available sources is limited to concurrent, overlapping requests for the same task id; other triggering scenarios are not described.
Know when 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N
Network-reachable and requires a valid authenticated task request (PR:L), no UI; integrity/availability only low via task-state corruption and no confidentiality impact, consistent with the 4.0 vector.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
DescriptionCVE.org
A security vulnerability has been detected in a2aproject a2a-java up to 1.2.0.Final. This impacts the function TaskManager.saveTaskEvent. The manipulation leads to race condition. The attack may be initiated remotely. Upgrading to version 1.3.0.Final will fix this issue. The identifier of the patch is 6b8e1e085c35e970ef0048901cd25850e4791ec2. The affected component should be upgraded.
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
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Race conditions occur when multiple concurrent requests exploit the brief time gap between checking a condition and acting upon it (TOCTOU - Time of Check, Time of Use).
Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m
Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti
Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent
Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug
JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up
Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up
The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow
Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla
The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during
EUVD-2026-111072
GHSA-wfff-mqj6-rwvg
NVD
CVE.org
EPSS
VulDB
Exploit-DB