Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSubmit crafted TaskPushNotificationConfig to server
-
DeliverySet push webhook URL to 169.254.169.254 or internal host
-
ExploitUnvalidated HttpPushSender dispatches outbound request
-
ExecutionServer reaches cloud-metadata/internal service
-
ImpactProbe internal network or elicit limited data leakage
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Credential Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires the server to have the push-notification feature enabled (an HttpPushSender configured via with_push_notifications); on affected versions ≤0.4.3 this sender performed NO URL validation, so any client able to submit a TaskPushNotificationConfig can set an arbitrary webhook URL. Concrete abuse targets confirmed by the patch: loopback (127.0.0.1/::1/localhost), RFC1918/ULA private ranges, link-local, multicast, unspecified addresses, cloud-metadata endpoints (169.254.169.254, metadata.google.internal, metadata.azure.com), and non-http/https schemes. Limiting factors for defenders: push notifications must be enabled (not required in every deployment), the SSRF is effectively blind (the push HTTP response is not reflected to the attacker, constraining data exfiltration to timing/behavioral inference), and the fix is already available so only unpatched ≤0.4.3 instances are exposed. |
| Impact | All signals point to a genuine but moderate-severity SSRF rather than a top-priority emergency. The vendor-supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) describes remote, low-complexity, unauthenticated exploitation, but the impact metrics are uniformly Low (VC:L/VI:L/VA:L, SC:N) yielding a 6.9 Medium score, consistent with a largely blind SSRF where the server initiates outbound requests the attacker cannot fully read back. No EPSS probability, SSVC decision data, KEV entry, or public POC is present in the input, so exploitation status is 'no public exploit identified at time of analysis' and there is no evidence of active or automatable exploitation. The patch diff corroborates the real-world concern - it explicitly blocks loopback, RFC1918/ULA private, link-local, multicast, unspecified, and cloud-metadata hosts (169.254.169.254, metadata.google.internal, metadata.azure.com), confirming the primary abuse case is reaching internal/cloud-metadata endpoints. Net judgment: a legitimately exploitable unauthenticated flaw, but the limited (blind, Low-impact) consequence plus a niche Rust library footprint and absence of EPSS/KEV/POC signals place it below genuinely urgent issues. Missing data to flag: no EPSS score, no SSVC framework values, and no KEV/POC status were provided, so exploitation likelihood is inferred from the vector alone. |
| Exploit ScenarioDerived | On an a2a-rs server (≤0.4.3) with push notifications enabled, a remote client submits a task whose TaskPushNotificationConfig specifies a webhook URL such as http://169.254.169.254/latest/meta-data/ or an internal service address. The unpatched HttpPushSender performs no URL validation and dispatches HTTP requests to that attacker-chosen target, letting the attacker coerce the server into probing internal networks or cloud-metadata endpoints. No public exploit code is identified; exploitation is low-complexity (AC:L) and requires no user interaction, but the SSRF is largely blind since the push response is not returned to the attacker. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 21, 2026
Server-side request forgery in a2a-rs 0.4.0 through 0.4.3 lets unauthenticated remote clients steer the A2A server's push-notification sender at arbitrary destinations - loopback (127.0.0.1/::1/localhost), RFC 1918 and IPv6 ULA private ranges, link-local and multicast addresses, cloud metadata endpoints such as 169.254.169.254 and metadata.google.internal, or non-HTTP schemes - by submitting a crafted TaskPushNotificationConfig. The CNA rates it 6.9, and exploitation is conditional on push notifications actually being enabled via with_push_notifications, with the SSRF being effectively blind because the outbound webhook response is not reflected back to the attacker. An upstream fix exists as commit 2ba50176 (PR #124); no public exploit code or CISA KEV entry was identified at time of analysis.
RemediationAI
Apply the upstream fix from commit 2ba50176ea9f222d9a7d0f0e8cfe6fae7cf4c224 (PR #124, https://github.com/a2aproject/a2a-rs/pull/124), which adds URL validation to HttpPushSender and defaults the new HttpPushSenderConfig.validate_urls flag to true - note that an exact tagged release containing this commit is not independently confirmed, so verify against the upstream repository before pinning a version. Where upgrading is not immediately possible, the most effective compensating control is to leave push notifications unconfigured entirely (do not call with_push_notifications), at the cost of losing webhook delivery; otherwise enforce egress filtering on the A2A server so it cannot reach loopback, RFC 1918, link-local or cloud metadata addresses (169.254.169.254, metadata.google.internal, metadata.azure.com), or restrict its outbound HTTP to a fixed allowlist of legitimate webhook hosts - both approaches will break any legitimate internal or localhost webhook targets and require maintaining the allowlist. Additionally, gate TaskPushNotificationConfig submission behind an authorization check or input validator that enforces the same scheme and host restrictions, accepting that this duplicates logic the patched sender performs natively.
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
a2a-rs is a Rust implementation of the Agent2Agent (A2A) protocol, and the flaw sits in the server crate's push-notification path (HttpPushSender in the push sender module, referenced in the advisory as crates/server/src/push_notification_sender.rs). When a client submits a TaskPushNotificationConfig, the webhook URL it carries is handed directly to the reqwest HTTP client with no destination validation, the classic CWE-918 server-side request forgery pattern where user-controlled input determines where the server opens a connection. The patch introduces an HttpPushSenderConfig with a validate_urls flag that defaults to true and adds a validate_push_url routine which rejects non-http/https schemes, a blocklist of loopback, metadata and unspecified hosts, and IP-literal targets in loopback, RFC 1918 private, link-local, multicast, unspecified and IPv6 fc00::/7 unique-local ranges - including the subtle cases of bracketed IPv6 literals and IPv4-mapped IPv6 addresses (::ffff:a.b.c.d) that would otherwise slip past range checks. The same commit also rejects CR/LF in push notification tokens and authentication credentials (tracked upstream as BUG-34) to prevent header injection into the outgoing request, so the fix bundles SSRF hardening with header-injection hardening.
Know when the next one hits your stack
- 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:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N
Remote unauthenticated client-supplied webhook URL (AV:N/AC:L/PR:N/UI:N); blind SSRF yields limited confidentiality/integrity/availability on internal targets, and no clear cross-component scope change (S:U).
Primary rating from Vendor (vuldb).
CVSS VectorVendor: vuldb
DescriptionCVE.org
A vulnerability has been found in a2aproject a2a-rs up to 0.4.3. This affects the function HttpPushSender of the file crates/server/src/push_notification_sender.rs of the component Push Notification Handler. Such manipulation of the argument TaskPushNotificationConfig leads to server-side request forgery. The attack may be launched remotely. The name of the patch is 2ba50176ea9f222d9a7d0f0e8cfe6fae7cf4c224. Applying a patch is advised to resolve this issue.
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
Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.
EUVD-2026-106865
GHSA-cwqm-f4mw-5mhx
NVD
CVE.org
EPSS
VulDB
Exploit-DB