Skip to main content

a2a-go CVE-2026-117504

| EUVDEUVD-2026-111030 MEDIUM
Improper Resource Shutdown or Release (CWE-404)
2026-10-27 cna@vuldb.com GHSA-339m-8vxp-vp6f
6.9
CVSS 4.0 · Vendor: vuldb
View

Attack ChainAIDerived

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

  1. Access
    Send Cancel task requests to Distributed Manager
  2. Exploit
    Hit context-encode error path leaving queue reader open
  3. Impact
    Accumulate leaked readers until resources exhausted (DoS)

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Resource release
Exploitation Conditions

Exploitation targets a service exposing a2a-go's Distributed Manager Cancel operation to remote callers (per CVSS AV:N/PR:N, remote and unauthenticated). The resource leak occurs specifically on the error branch where the ContextCodec fails to encode context during a Cancel request, leaving the event-queue reader unclosed; the patch adds safeCloseReader on that path. The precise attacker-controlled input that reliably forces the encode failure is not described in the available sources. Impact is limited to availability (VA:L) and requires repeated triggering to exhaust resources, and only versions up to 2.4.0 are affected - 2.5.0 is fixed.

Impact

This is a medium-severity denial-of-service issue, not a top-tier emergency. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L) scores 6.9 and indicates a remotely reachable, low-complexity, unauthenticated flaw whose only impact is partial availability (VA:L) - no confidentiality or integrity loss. The vuln.today decision label is 'this_month', consistent with a real but non-urgent priority rather than act_now/emergency. There is no CISA KEV listing and no EPSS score supplied, so there is no signal of active or probable near-term mass exploitation; absence of these is not evidence of safety but does not elevate urgency. No exploit code is referenced - only the patch commit, pull request, and release are linked. The commit diff confirms the mechanism matches CWE-404 (improper resource release): the Cancel function failed to close the event-queue reader on the context-encoding error path, so the real-world risk is gradual resource exhaustion from repeated triggering rather than a single catastrophic crash. Net: a genuine but moderate, availability-only issue - patch within a normal maintenance cycle.

Exploit ScenarioDerived

A remote attacker repeatedly issues task-cancellation requests to a service built on a2a-go's Distributed Manager, driving executions down the Cancel path where context encoding fails and the event-queue reader is left open. Each leaked reader consumes resources, and sustained requests degrade or exhaust the service's capacity, causing denial of service. No public exploit code is identified at time of analysis.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.6% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 28, 2026

Repeated remote Cancel requests against a2a-go's Distributed Manager can leak resources and degrade availability in versions 2.0 through 2.4.0. When the ContextCodec fails to encode context during a Cancel call, the handler returns the error without closing the associated event-queue reader, so each failed cancellation strands a reader; sustained triggering can exhaust resources and produce a denial of service. The issue is reachable by remote, unauthenticated callers of a service that exposes the Cancel operation (per the assessed AV:N/PR:N vector), but availability impact is rated low and exploitation depends on the encode-failure branch being forced repeatedly. Version 2.5.0 fixes the leak, and no public exploit code has been identified at time of analysis.

RemediationAI

Vendor-released patch: upgrade a2aproject/a2a-go to version 2.5.0, which contains commit 14e41a978b31e134ffa1170d8657f9dd98529aa3 (PR https://github.com/a2aproject/a2a-go/pull/409) adding the missing safeCloseReader call on the Cancel error path. Because a2a-go is a library, remediation means bumping the module version in go.mod and rebuilding every service that embeds it; the release notes are at https://github.com/a2aproject/a2a-go/releases/tag/v2.5.0 and the patch diff at https://github.com/a2aproject/a2a-go/commit/14e41a978b31e134ffa1170d8657f9dd98529aa3. Upgrading is the only complete fix described in the available sources; no vendor-documented workaround exists. If the upgrade cannot be applied immediately, reducing exposure by limiting which remote callers can reach the Distributed Manager's Cancel operation lowers the chance of repeated triggering, with the trade-off that it restricts legitimate cancellation traffic and does not remove the underlying leak. Detection can focus on abnormal growth in event-queue readers or memory in services that handle many failed Cancel requests, and the new regression test TestClusterFrontend_Cancel_EncodeContextErrorClosesQueue can be backported to verify a fixed build.

Affected VersionsENISA

a2a-go 2.3
a2a-go 2.0
a2a-go 2.4.0
a2a-go 2.2
a2a-go 2.1

Affected Packages

euvd a2a_go 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

a2a-go is the Go SDK for the Agent2Agent (A2A) protocol, and its internal/taskexec package implements task execution with a DistributedManager that fronts a cluster deployment through a TaskStore, a QueueManager and a WorkQueue, using a ContextCodec to encode and decode task context. The flaw is a CWE-404 improper resource shutdown: in the Cancel handler (internal/taskexec/distributed_manager.go), an event-queue reader is obtained for the task being cancelled, and when ContextCodec encoding of the context fails, the error is propagated before the queue reader is released. The upstream patch commit 14e41a978b31e134ffa1170d8657f9dd98529aa3 simply adds a safeCloseReader(ctx, queue) call on that error branch, and the accompanying test TestClusterFrontend_Cancel_EncodeContextErrorClosesQueue asserts the queue is closed when encoding fails. This is a leak-per-failed-call pattern rather than memory corruption: there is no confidentiality or integrity impact, and the effect is cumulative resource exhaustion of queue readers. The specific attacker-controlled input that reliably forces the codec encode failure is not described in the available sources; the patch and its regression test confirm the error path is the locus of the defect.

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

Vendor (vuldb) PRIMARY 6.9 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
vuln.today AI 5.3 MEDIUM

Remotely reachable, unauthenticated Cancel endpoint (AV:N/PR:N/UI:N) with low-complexity trigger; a resource leak yields only partial availability loss (A:L), no C/I impact.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/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
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

A vulnerability was identified in a2aproject a2a-go up to 2.4.0. The affected element is the function Cancel of the file internal/taskexec/distributed_manager.go of the component Distributed Manager. Such manipulation leads to denial of service. It is possible to launch the attack remotely. Upgrading to version 2.5.0 is sufficient to fix this issue. The name of the patch is 14e41a978b31e134ffa1170d8657f9dd98529aa3. Upgrading the affected component is advised.

Threat Intelligence Overview

EPSS Score
0.6%
Top 54% exploitable
Prevalence
Low
newer niche Go A2A-protocol library, limited production deployment 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.6%
Patch available No
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
Yes
Human Impact· derived
Medium

Priority Score

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

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

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