Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain control of SSE stream source
-
DeliverySend single event with no terminating blank line
-
ExploitDeliver payload as many small chunks
-
ExecutionBypass buffer-size guard via accumulator growth
-
ImpactExhaust process memory (DoS)
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource consumption limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an application that uses the ag-ui C++ community SDK's SseParser to consume a Server-Sent Events stream, and an attacker able to control or influence that stream source (per the PR:L privilege). The specific trigger is a single SSE event whose data is never terminated by a blank line, fed as many small chunks so that consumed bytes are erased from m_buffer into the per-event accumulator m_currentData, which was excluded from the kMaxBufferSize check. Limiting factors: impact is availability-only (memory exhaustion of the parsing process, VA:L), it affects only the C++ SDK (not other-language SDKs), it needs the low-privilege/authorized stream position rather than anonymous access, and patched builds throw SseBufferExceededError before exhaustion. |
| Impact | This is a genuine but low-to-moderate priority denial-of-service issue, not a high-impact flaw. The CVSS 4.0 base score of 5.3 (AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:L) reflects reality well: the only impact is availability, and it is rated LOW (VA:L), meaning memory pressure/degradation of the application embedding the C++ SDK rather than confidentiality or integrity loss. There is no EPSS score, no CISA KEV listing, and no public exploit code identified at time of analysis, so this reflects a responsibly-disclosed bug (VulDB, GitHub issue #2440) with a merged fix rather than any observed exploitation. The exploitation-status signal is E:X (not defined) in the vector, consistent with 'no public exploit identified.' One nuance to verify: this is a client-side SSE stream parser, so the 'remote attacker' must control or influence the server-sent-events source the SDK consumes; the vendor-assigned PR:L suggests some privileged/authorized position rather than a fully anonymous internet attacker. The source-code diff strongly corroborates the mechanism (per-event accumulator m_currentData excluded from the buffer-size guard), so the technical claim is well-supported. Overall: real bug, real patch, but low real-world urgency given niche deployment and availability-only impact. |
| Exploit ScenarioDerived | An attacker who controls or can inject into the Server-Sent Events stream that an application's ag-ui C++ SDK consumes sends a single SSE event whose data field is never terminated by a blank line, delivered as many small chunks. Because each chunk is drained from m_buffer into the per-event accumulator, the buffer-size limit never trips and memory grows without bound until the host process is exhausted. No public exploit code exists; the attack is simple (AC:L) but requires an attacker-influenced stream source (PR:L). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 16, 2026
Unbounded memory growth in the ag-ui (AG-UI protocol) C++ community SDK's Server-Sent Events parser lets an attacker who can control or influence the consumed SSE stream exhaust the parsing process's memory, producing a denial of service. The flaw lives in sdks/community/c++/src/stream/sse_parser.cpp, where the buffer guard compares only m_buffer plus the incoming chunk against kMaxBufferSize and ignores the per-event accumulator m_currentData, so a single event that is never terminated by a blank line and delivered as many small chunks grows without bound. It is rated CVSS 5.3 (CVSS:4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:L) / CVSS:3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L, availability-only and requiring the low-privilege, authorized position of the stream producer; no public exploit identified at time of analysis, and an upstream fix is available (commit ab6e0bc, PR #2501).
RemediationAI
Upstream fix available (PR/commit); released patched version not independently confirmed - the authoritative change is commit ab6e0bc298996caac2b4b0b3ec0bd8d32a15a186 (pull request https://github.com/ag-ui-protocol/ag-ui/pull/2501, tracking issue https://github.com/ag-ui-protocol/ag-ui/issues/2440), which adds m_currentData.size() to the kMaxBufferSize check so oversized never-terminated events throw SseBufferExceededError; apply that commit, cherry-pick it into the C++ SDK, or take the next tagged release that contains it. No exact fix version number is published in the available data, so do not assume a specific tag is patched without verifying its contents against this commit. If code cannot be rebuilt immediately, compensating controls are possible but partial: enforce a hard byte cap and idle timeout on the SSE response at an upstream reverse proxy or HTTP client (limits total stream size but can truncate legitimately large or slow agent streams once the cap is reached), reject or split SSE payloads whose single event exceeds an application-defined data-field size before they reach the parser (requires a wrapping layer and may break clients emitting large legitimately-unteminated events), and restrict who can publish to or point the SDK at the upstream event stream, since the flaw requires the low-privilege but authorized stream-producer position rather than anonymous access. Do not rely on transport compression or connection count limits alone, as a single well-formed stream is sufficient to trigger the growth. Vendor references: https://vuldb.com/vuln/405449, https://vuldb.com/cve/CVE-2026-92363, https://vuldb.com/submit/934957.
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
ag-ui is a protocol/SDK suite for streaming agent-to-UI events, and its community C++ SDK implements a Server-Sent Events consumer in sdks/community/c++/src/stream/sse_parser.cpp. SSE frames arrive as 'data: ...\n' fields terminated by a blank line; the parser feeds incoming bytes into a raw buffer (m_buffer) and processBuffer() erases already-consumed bytes while accumulating the current logical event into a separate per-event accumulator (m_currentData) until a terminator is seen. The pre-patch guard only tested m_buffer.size() + chunk.size() > kMaxBufferSize, so an attacker sending one event that is never terminated - split into many small chunks - kept m_buffer small (consumed bytes were erased on each feed) while m_currentData grew monotonically, defeating the intended limit. This is CWE-400 (Uncontrolled Resource Consumption): the root cause is an incomplete accounting of an internal state buffer against a fixed memory ceiling, not a memory-safety bug, so impact is confined to memory pressure/termination of the parsing process rather than code execution or data exposure. The CPE cpe:2.3:a:ag-ui-protocol:ag-ui:*:*:*:*:*:*:*:* indicates all versions of the ag-ui package are in scope, but the vulnerable code path is specific to the C++ SDK's SseParser (the same file is not shared by the other-language SDKs), and patched builds raise SseBufferExceededError as soon as m_buffer + m_currentData + chunk exceeds kMaxBufferSize.
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
Attacker must control the consumed SSE stream (PR:L) over the network with low complexity; impact is availability-only and partial (memory pressure), so A:L, C:N/I:N.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
DescriptionCVE.org
A flaw has been found in ag-ui-protocol ag-ui 1.0. Affected is an unknown function of the file src/stream/sse_parser.cpp of the component JSON Parser. Executing a manipulation can lead to resource consumption. The attack may be performed from remote. This patch is called ab6e0bc298996caac2b4b0b3ec0bd8d32a15a186. 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
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Cross-origin information disclosure in the ag-ui TypeScript client: HttpAgent builds the POST run request with the conve
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
Denial of service in the ag-ui TypeScript client SDK (versions up to and including 0.0.58) allows a party that controls
Denial of service in the ag-ui TypeScript client SDK (versions up to 0.0.58) where the SSE/protobuf stream parser fails
Resource exhaustion in the ag-ui Protocol TypeScript client SDK (versions up to and including 0.0.58) allows a hostile o
Improper input validation in the AG-UI protocol SDK transport decoder path affects ag-ui versions up to and including 0.
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
Uncaught exception handling in the A2A middleware of ag-ui-protocol ag-ui (all versions up to 2026-09-07) allows an atta
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
EUVD-2026-80708
GHSA-gh4c-79cj-jr5j
NVD
CVE.org
EPSS
VulDB
Exploit-DB