Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain read access to server logs or log aggregation
-
ExploitIdentify SEVERE 'Error parsing JSON request body' entries
-
ExecutionExtract cleartext bearer token and authentication credentials
-
ImpactForge task status updates to client push endpoint
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A09:2025 - Security Logging & Alerting Failures
ASVS 5.0
V16 - Security Logging and Error Handling Log data sanitization
|
| Exploitation Conditions | Exploitation requires all of the following: (1) push notifications enabled so that createTaskPushNotificationConfiguration routes requests to RestHandler.parseRequestBody; (2) an authenticated request (PR:L) to /v1/tenants/{tenant}/tasks/{taskId}/pushNotificationConfigs carrying token and/or authentication.credentials values; (3) a request body that is valid JSON but fails protobuf deserialization - e.g. an unknown field under strict parsing or a schema mismatch - to reach the Level.SEVERE log call; and (4) read access to the server logs or the log-aggregation/SIEM system where those logs are shipped. Limiting factors: the secret only leaks if a client actually supplies push credentials, the push-notification feature must be enabled, the actor retrieving the secret needs log access rather than network access, and only versions strictly prior to 1.3.0.Final are affected. |
| Impact | This is a genuine but moderate-severity information-disclosure issue (CWE-532), not a high-urgency code-execution class flaw. The vendor CVSS 4.0 vector (AV:L/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N) correctly models a confidentiality-only impact gated behind several conditions: local-equivalent access to the server logs (AV:L), an authenticated request (PR:L), the push-notification feature being enabled, and a parse-failure attack requirement (AT:P). The signals are internally consistent - there is no network-vs-local conflict, because the sensitive data is realized only once an actor can read the logs, so AV:L is appropriate rather than a contradiction. No EPSS score, CISA KEV listing, or public POC was provided in the input, so per the precision rules this is 'no public exploit identified at time of analysis.' Because EPSS/KEV data is absent, widespread automated exploitation cannot be assessed from the available signals; practical risk is driven by who can read the server logs or log-aggregation system rather than by internet-facing attack surface. Overall this is a 'fix on normal patch cadence' item: real (bearer tokens and credentials leak in cleartext and can be reused to forge push callbacks) but materially constrained by the log-access and feature-enablement prerequisites. |
| Exploit ScenarioDerived | In a deployment with push notifications enabled, a client (or an authenticated actor) sends a push-notification-config request whose JSON is valid but fails protobuf deserialization (for example by including an unknown field under strict parsing). The server logs the entire request body at SEVERE level, writing the token and authentication.credentials in cleartext. A separate actor with read access to the server logs or the log-aggregation system then harvests those credentials and uses them to send forged task-status updates to the client's push-notification endpoint. No public exploit code was identified at the time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 20, 2026
Cleartext credential disclosure in the A2A Java SDK prior to 1.3.0.Final writes push-notification bearer tokens and authentication credentials into server logs: when JsonFormat.parser().merge() throws InvalidProtocolBufferException, RestHandler.parseRequestBody logs the entire JSON request body at SEVERE level instead of just the error. The leak is reachable only when push notifications are enabled, via authenticated requests to /v1/tenants/{tenant}/tasks/{taskId}/pushNotificationConfigs whose token and authentication.credentials fields carry secrets for client push endpoints, and only when the body is valid JSON that fails protobuf deserialization (for example an unknown field under strict parsing or a schema mismatch). An actor with read access to the server logs or the log-aggregation/SIEM system can recover those credentials and use them to send forged task status updates to the client's push endpoint; the patch (1.3.0.Final) replaces the body dump with a logged body length, and no public exploit code was identified at time of analysis.
RemediationAI
Upgrade the A2A Java SDK to 1.3.0.Final or later (vendor advisory GHSA-x32g-jvvm-4725, release https://github.com/a2aproject/a2a-java/releases/tag/v1.3.0.Final); the fix is delivered by commit 88827105fee0daaac0d883a4a68eb644571d7230, which changes both RestHandler.java and the compat-0.3 RestHandler_v0_3.java to log only the body length rather than the body content, so an upgrade is required for every module in use - including the 0.3 compatibility transport, which is patched in the same release. Because leaked credentials may already be recorded, treat tokens and authentication.credentials previously submitted to /v1/tenants/{tenant}/tasks/{taskId}/pushNotificationConfigs as compromised: rotate push-endpoint bearer tokens and credentials, and purge or restrict the corresponding entries in log stores and SIEM indexes. If immediate upgrade is not possible, compensating controls are: disable push notifications (the parser path is only reachable when push notifications are enabled; the trade-off is loss of asynchronous task-status callbacks), restrict read access to application logs and log-aggregation systems to the minimum set of operators (limits blast radius but does not stop the write), and apply regex-based redaction of 'token' and 'credentials' JSON fields at the log shipper or logging framework level before entries leave the host (a stopgap that can miss malformed or nested payloads). Monitor SEVERE 'Error parsing JSON request body' entries containing JSON content as an indicator that secrets may have been captured, and investigate requests to the pushNotificationConfigs endpoint with deliberate schema mismatches or unknown fields.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in maven, 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 the official Java implementation of the Agent2Agent (A2A) Protocol, and its REST transport deserializes JSON request payloads into protobuf message builders using com.google.protobuf.util.JsonFormat.parser().merge(). The affected code path is RestHandler.parseRequestBody in transport/rest/src/main/java/org/a2aproject/sdk/transport/rest/handler/RestHandler.java, with a parallel implementation in the compat-0.3 module (compat-0.3/transport/rest/.../RestHandler_v0_3.java), so both the current and 0.3 compatibility transports are impacted. The root cause is CWE-532 (Insertion of Sensitive Information into Log File): the InvalidProtocolBufferException catch block passed the raw body string into the java.util.logging SEVERE message, so any deserialization failure dumped the full payload - including the pushNotificationConfig token and authentication.credentials - in cleartext. Because the failure is triggered by client-controlled conditions such as an unknown field under strict parsing or a schema mismatch, an authenticated caller can deliberately induce the log write. The upstream fix (commit 88827105fee0daaac0d883a4a68eb644571d7230) changes both handlers to emit only 'Error parsing JSON request body (length=N)', and adds regression tests (including a LogCaptureAssertions helper) asserting that marker secrets such as 'secret-token-12345' and 'oauth-secret-67890' never appear in log output. Severity is bounded by the prerequisites: push notifications must be enabled, credentials must actually be supplied by the client, and the attacker must already hold log-read access, which is why the vector is scored with AV:L and confidentiality-only impact.
Know when A2A 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:L/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Value is realized only via access to server logs so AV:L; an authenticated request plus the enabled push feature means PR:L; impact is cleartext credential disclosure, so C:H with I:N/A:N.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
A2A Java SDK is the official Java SDK for the Agent2Agent (A2A) Protocol. Prior to 1.3.0.Final, RestHandler.parseRequestBody in transport/rest/src/main/java/org/a2aproject/sdk/transport/rest/handler/RestHandler.java logs the entire JSON request body at SEVERE level when JsonFormat.parser().merge() throws InvalidProtocolBufferException. With push notifications enabled, createTaskPushNotificationConfiguration reaches this parser for requests to /v1/tenants/{tenant}/tasks/{taskId}/pushNotificationConfigs, whose token and authentication.credentials fields can contain bearer tokens and authentication credentials for client push endpoints. A valid JSON body that fails protobuf deserialization, including an unknown field under strict parsing or a schema mismatch, causes those secrets to be written to the server logs in cleartext. An attacker with access to the server logs or a log aggregation system can retrieve the credentials and potentially use the credentials to send forged task status updates to the client's push notification endpoint. This issue is fixed in version 1.3.0.Final.
Blast Radius
ecosystem impact- 4 maven packages depend on org.a2aproject.sdk:a2a-java-sdk-transport-rest (1 direct, 3 indirect)
Ecosystem-wide dependent count for version 1.3.0.Final.
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
Insecure deserialization occurs when an application converts serialized data (a stream of bytes representing an object's state) back into a living object without proper validation.
Credential disclosure in the A2A Java SDK Android HTTP client versions 1.3.0.Final and 1.3.1.Final allows unauthenticate
Unauthenticated task-read disclosure in the A2A Java SDK before 1.3.0.Final lets any network caller retrieve another cal
HTTP response splitting in a2a-java 1.2.0 allows attackers who control push notification authentication credentials to i
Server-side request forgery in the A2A Java SDK before 1.3.0.Final allows an unauthenticated caller to register an attac
A2A Java SDK releases prior to 1.3.0.Final leak configured API key credentials to attacker-controlled third-party server
Missing authorization in the A2A Java SDK (a2aproject/a2a-java) 1.2.0 allows a caller with a valid account to invoke the
EUVD-2026-105044
GHSA-x32g-jvvm-4725
NVD
CVE.org
EPSS
VulDB
Exploit-DB