Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain low-privilege access to agent input
-
DeliverySubmit tool call with malformed/non-object JSON arguments
-
ExploitMiddleware JSON.parse or field access throws uncaught
-
ExecutionEvent stream hangs or aborts
-
ImpactDenial of the agent run
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Exception handling completeness
|
| Exploitation Conditions | Exploitation requires the ability to supply the 'arguments' field of a tool call processed by the ag-ui A2A middleware (the send_message_to_a2a_agent tool path), where the value is malformed JSON or valid JSON that is not a usable object (null, a bare number, a string, or an array). No user interaction is needed (UI:N) and it is network-reachable (AV:N), but it requires low-level privilege/authenticated access to inject that input (PR:L) - an unauthenticated external actor with no path to influence tool-call arguments cannot trigger it. Impact is limited to disrupting/hanging the affected agent run stream (availability only); there is no data exposure or state corruption. Limited to deployments running ag-ui middleware versions up to 2026-09-07 (fixed in release 2026-09-08). |
| Impact | This is a genuine but low-severity availability issue, not a high-CVSS-but-low-risk overstatement - the vendor CVSS 4.0 base score is only 5.3 (medium) and the sole impact metric set is VA:L (low availability), with VC:N/VI:N confirming no confidentiality or integrity effect. The vector is CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N, meaning network-reachable, low attack complexity, no user interaction, but PR:L - exploitation requires some level of privilege/authenticated access to submit input that reaches the middleware. CWE-248 (uncaught exception) is consistent with the source evidence: malformed or non-object JSON in tool-call arguments causes JSON.parse (or a subsequent field access on a parsed non-object such as null/number/array) to throw where nothing catches it, so the agent event stream hangs or errors rather than degrading gracefully - a self-inflicted denial-of-condition on a single run/session, not a service-wide crash. EPSS is not provided, KEV status is not listed (not actively exploited), and no public exploit code is referenced (VulDB-sourced disclosure with linked issue/PR). SSVC-style read: exploitation=none observed, technical impact=partial (availability only), automatable is plausible given AV:N/AC:L but the payoff is merely disrupting a stream. Net: real, patchable, low priority. Note the tag 'Information Disclosure' conflicts with the actual impact profile (availability, VC:N) and appears mislabeled. |
| Exploit ScenarioDerived | An attacker with the privilege to influence a tool call's arguments (PR:L) submits an assistant message whose function arguments are malformed JSON (e.g. '{"agentName": "some-agent"') or parse to a non-object like 'null', '42', or '[]'. When the A2A middleware's convert/JSON.parse path processes it, the exception is thrown inside a synchronous .map callback before any Promise.all/.catch guard exists, so the run stream neither completes nor errors and hangs. No public exploit code is identified at time of analysis; the disclosure and reproducing tests originate from GitHub issue #2444 and PR #2493. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 28, 2026
Uncaught exception handling in the A2A middleware of ag-ui-protocol ag-ui (all versions up to 2026-09-07) allows an attacker who can control the arguments of a tool call to crash or permanently hang an agent run stream. Supplying malformed JSON, or valid JSON that is not a usable object (null, a bare number, a string, or an array), reaches an unguarded JSON.parse path in the middleware's conversion logic and throws before any error-catching exists, leaving the run neither completed nor errored. The issue is network-reachable but requires low-level/authenticated privilege to inject the crafted tool-call arguments (CVSS 4.0 base 5.3, PR:L; independent assessment CVSS 3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L), and impact is limited to availability of the affected run with no confidentiality or integrity effect. There is no public exploit identified at time of analysis; the vendor fixed the flaw in release 2026-09-08.
RemediationAI
Vendor-released patch: upgrade to ag-ui release 2026-09-08 (https://github.com/ag-ui-protocol/ag-ui/releases/tag/release/2026-09-08), which incorporates the fix from pull request https://github.com/ag-ui-protocol/ag-ui/pull/2493 and commit 30f8c794d5b73df5c610153043db502b2cc106cc; the fix adds both a JSON.parse guard and structural validation of the parsed tool-call arguments (rejecting null, numbers, strings, arrays, and objects with a missing/non-string/empty agentName) and emits a RUN_ERROR instead of throwing. Until the upgrade is deployed, apply compensating controls: (1) enforce strict schema validation on every tool-call 'arguments' payload before it reaches the A2A middleware, rejecting non-object JSON - this fully blocks the trigger but requires application-level changes and may reject otherwise tolerated but unusual tool payloads; (2) restrict which callers or upstream agents may construct tool calls that reach this middleware (the vector is PR:L, so tightening authentication/authorization on the orchestration input path removes the attacker's ability to inject crafted arguments), at the cost of reducing the set of legitimately integrated agents; (3) wrap the middleware invocation in a timeout/watchdog that aborts and error-signals runs which neither complete nor error, which converts the indefinite hang into a bounded failure but does not prevent the underlying exception; and (4) monitor for agent runs that stall without terminal events as a detection signal. Note that there is no data exposure or state corruption to mitigate - the impact is confined to availability of the affected agent run.
Affected VersionsENISA
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
CVE-2026-101101 is a CWE-248 (Uncaught Exception) flaw in the ag-ui agent-to-agent middleware ('A2AMiddlewareAgent'). The middleware intercepts orchestration events, identifies a pending tool call for 'send_message_to_a2a_agent', and parses the assistant message's tool-call 'arguments' string through JSON.parse in legacy/convert.ts. Two failure modes exist: malformed JSON throws inside a synchronous callback where no handler is attached yet, and syntactically valid but structurally unsuitable JSON (null, 42, "just a string", [], or an object whose agentName is absent, non-string, or empty) parses successfully and then throws when a field is read off the result. Because the throw occurs inside the synchronous .map callback, before Promise.all and its .catch(failRun) are established, the resulting RxJS Observable stream neither emits RUN_ERROR nor completes - it hangs. The vendored CPE cpe:2.3:a:ag-ui-protocol:ag-ui:*:*:*:*:*:*:*:* indicates the entire product line prior to the fixed release is in scope, and the root cause is a missing try/catch plus a missing validation step for shape (not just parseability) of the tool-call payload before the agent lookup is attempted.
Know when Ag Ui 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:N/VA:L/SC:N/SI:N/SA:N
Network-reachable low-complexity input but PR:L since the attacker must influence tool-call arguments; only a single agent run hangs, so A:L and C/I:N.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
DescriptionCVE.org
A vulnerability has been found in ag-ui-protocol ag-ui up to 2026-09-07. This issue affects the function JSON.parse of the file legacy/convert.ts of the component Middleware. The manipulation leads to uncaught exception. Remote exploitation of the attack is possible. Upgrading to version 2026-09-08 is capable of addressing this issue. The identifier of the patch is 30f8c794d5b73df5c610153043db502b2cc106cc. Upgrading the affected component is recommended.
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
Unbounded memory growth in the AG-UI Rust client's SSE frame parser (crates/ag-ui-client/src/sse.rs, shipped in the ag-u
Unbounded buffering in the Server-Sent Events parser of the AG-UI Community SDK (Kotlin/Java) lets a malicious or man-in
Memory exhaustion in the AG-UI Go community SDK's SSE client allows a remote attacker who controls or can intercept an S
Origin validation errors in the AG-UI TypeScript client SDK (ag-ui 1.0) allow remote, low-privileged attackers who can i
Incomplete cleanup of per-run state in the ag-ui TypeScript client SDK's FilterToolCallsMiddleware allows disallowed too
Unbounded request-body reads in the ag-ui Java community server SDK (JdkAgentHttpHandler, used by applications that inst
Unbounded memory growth in the ag-ui (AG-UI protocol) C++ community SDK's Server-Sent Events parser lets an attacker who
A permissive cross-origin resource sharing (CORS) misconfiguration in the AG-UI aws-strands Python integration (ag-ui 0.
EUVD-2026-88393
GHSA-chh6-2pfh-pc8w
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB