Skip to main content

A2A Java SDK EUVDEUVD-2026-111072

| CVE-2026-117507 MEDIUM
Race Condition (CWE-362)
2026-10-27 VulDB GHSA-wfff-mqj6-rwvg
5.3
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate to A2A server with low-privilege access
  2. Exploit
    Issue concurrent cancel/completion events for one task id
  3. Execution
    Win check-then-act race in saveTaskEvent state machine
  4. Impact
    Corrupt 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

a2a-java 1.2.0.Final

Affected Packages

euvd a2a_java no fix

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

Vendor (VulDB) PRIMARY 5.3 MEDIUM
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
vuln.today AI 5.4 MEDIUM

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.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
Low
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

EPSS Score
0.3%
Top 72% exploitable
Prevalence
Low
niche open-source A2A protocol Java SDK, limited production footprint
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

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).

More in Java

View all
CVE-2012-4681 CRITICAL POC
9.8 Aug 28

Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m

CVE-2015-7450 CRITICAL POC
9.8 Jan 02

Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti

CVE-2013-2465 CRITICAL POC
9.8 Jun 18

Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent

CVE-2011-3544 CRITICAL POC
9.8 Oct 19

Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug

CVE-2010-1871 HIGH POC
8.8 Aug 05

JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to

CVE-2012-1723 CRITICAL POC
9.8 Jun 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up

CVE-2013-0422 CRITICAL POC
9.8 Jan 10

Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using

CVE-2012-0507 CRITICAL POC
9.8 Jun 07

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up

CVE-2015-4852 CRITICAL POC
9.8 Nov 18

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

CVE-2012-5076 CRITICAL POC
9.8 Oct 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow

CVE-2017-3066 CRITICAL POC
9.8 Apr 27

Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla

CVE-2012-0391 CRITICAL POC
9.8 Jan 08

The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy