Skip to main content

AG-UI Go SDK CVE-2026-92361

| EUVDEUVD-2026-80725 MEDIUM
Uncontrolled Resource Consumption (CWE-400)
2026-09-16 VulDB GHSA-mfh9-w5jm-cv27
5.3
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

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

  1. Access
    Lure client to malicious SSE endpoint
  2. Exploit
    Respond with unterminated/oversized SSE stream
  3. Execution
    Client buffer grows without bound
  4. Impact
    Memory exhaustion crashes client process

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

Exploitation requires the AG-UI Go community SSE client (sdks/community/go/pkg/client/sse/client.go) to establish an SSE connection to an endpoint the attacker controls or can MITM; the attacker then sends a stream that never emits a line-terminating newline, or an oversized single frame, so the client's ReadBytes buffer grows unbounded. Impact is limited to availability (memory exhaustion of the client process) - no data disclosure or modification. Key limiting factor: the victim application must connect to the hostile/compromised endpoint, so risk is concentrated in deployments where the agent backend or transport is untrusted; before the fix there was no configurable frame/line cap.

Impact

This is a moderate, availability-only issue whose real-world priority is low. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:L) yields 5.3 and correctly reflects a non-catastrophic bug: no confidentiality or integrity impact and only partial availability (VA:L). The root cause, confirmed by the PR #2700 diff, is unbounded buffer growth in the Go SSE client's readStream - bufio.Reader.ReadBytes grows its buffer indefinitely when a peer sends data but never a newline delimiter, exhausting client memory (CWE-400). There is no EPSS score, no CISA KEV listing, and no public exploit code, so this is not under active exploitation. Note a signal to verify: VulDB assigned PR:L, but the actual actor is a malicious or compromised SSE endpoint (or a MITM on the stream) that the Go client connects to - that server needs no credentials on the victim, which argues for PR:N; conversely the victim must initiate a connection to the hostile endpoint, a real limiting precondition not captured in raw CVSS. Also note the description says the fix PR 'awaits acceptance,' which conflicts with the 'Patch: Available from vendor' metadata - the fix may not yet be merged/released. Overall: a legitimate resource-exhaustion hardening fix in a niche library, not an urgent threat.

Exploit ScenarioDerived

A Go application embeds the AG-UI community SSE client and connects to an agent backend endpoint. An attacker who controls or MITMs that endpoint returns a Server-Sent Events response that streams bytes without ever sending a line terminator (or an oversized single frame); the client's reader accumulates the data indefinitely, driving memory growth until the client process is exhausted or killed. No public exploit code exists, but the condition is trivial to reproduce (AC:L) and the fix's own test harness demonstrates it with a 'holdingReader' that sends data then blocks.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.5% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Sep 16, 2026

Memory exhaustion in the AG-UI Go community SDK's SSE client allows a remote attacker who controls or can intercept an SSE endpoint to drive the client process out of memory by sending a stream that never terminates a line, or an oversized single frame. The affected component is sdks/community/go/pkg/client/sse/client.go in ag-ui, and impact is availability-only with no data disclosure or modification, consistent with the assessed CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L. No public exploit was identified at time of analysis; an upstream fix exists as pull request #2700 but a released patched version is not independently confirmed.

RemediationAI

Apply the upstream fix from PR https://github.com/ag-ui-protocol/ag-ui/pull/2700 once accepted or released; because the pull request awaits acceptance, this is currently an upstream fix available as a PR/commit and a released patched version is not independently confirmed. If building from source, incorporate the changes that add DefaultMaxFrameBytes at 8 MiB, readLine limits, and frame-size termination. Until patched, avoid connecting the AG-UI Go SSE client to untrusted or attacker-influenceable endpoints, and place outbound SSE traffic behind a proxy that enforces maximum response body size and idle or incomplete-line timeouts; trade-offs are that size limits can break legitimate large SSE payloads and timeouts can terminate long-lived streams. Restrict egress to trusted agent backends and monitor client memory for unbounded growth; after a patched release is available, reduce Config.MaxFrameBytes for use cases with smaller legitimate frames. Additional references: https://github.com/ag-ui-protocol/ag-ui/issues/2438 and https://vuldb.com/vuln/405447.

Affected VersionsENISA

ag-ui 1.0

Affected Packages

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

This is CWE-400 uncontrolled resource consumption in the AG-UI Go SDK's server-sent events client. The Go client uses bufio.Reader.ReadBytes with a newline delimiter to read SSE lines; because ReadBytes grows its internal buffer until it finds the delimiter, a malicious or compromised SSE server can keep the connection open without ever sending a newline, causing unbounded memory growth. The same resource-exhaustion class applies to an oversized frame accumulated before the blank-line dispatch. The CPE cpe:2.3:a:ag-ui-protocol:ag-ui:*:*:*:*:*:*:*:* covers ag-ui, and the vulnerable code is specifically the community Go SSE client. The upstream patch adds DefaultMaxFrameBytes at 8 MiB, a readLine helper using ReadSlice with byte limits, and frame-size checks that terminate the stream when a line or frame exceeds the cap.

Know when Go 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

Vendor (VulDB) PRIMARY 5.3 MEDIUM
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
vuln.today AI 5.3 MEDIUM

Malicious/MITM'd SSE server needs no target credentials (PR:N) and sending an unterminated stream is trivial (AC:L); impact is availability-only and partial (A:L), no C/I.

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
Low
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 security vulnerability has been detected in ag-ui-protocol ag-ui 1.0. This affects an unknown function of the file sdks/community/go/pkg/client/sse/client.go of the component SSE Client. Such manipulation leads to resource consumption. The attack can be executed remotely. The pull request to fix this issue awaits acceptance.

Threat Intelligence Overview

EPSS Score
0.5%
Top 58% exploitable
Prevalence
Low
niche emerging OSS AI-agent UI protocol, community Go SDK
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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.5%
Patch available Yes
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
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

27
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +26
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.

More in Go

View all
CVE-2023-44487 HIGH POC
7.5 Oct 10

Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour

CVE-2016-5386 HIGH
8.1 Jul 19

The net/http package in Go through 1.6 does not attempt to address RFC 3875 section 4.1.18 namespace conflicts and there

CVE-2025-68121 CRITICAL POC
10.0 Feb 05

Critical certificate validation bypass in Go crypto/tls during session resumption. If ClientCAs or RootCAs fields are mu

CVE-2019-14809 CRITICAL POC
9.8 Aug 13

net/url in Go before 1.11.13 and 1.12.x before 1.12.8 mishandles malformed hosts in URLs, leading to an authorization by

CVE-2026-90942 CRITICAL POC
9.3 Sep 14

Casdoor through 4.4.0 exposes its instance-wide built-in JWT signing private key unmasked through the /api/get-certs and

CVE-2026-101090 CRITICAL POC
9.3 Sep 27

Host header injection in Nezha 2.2.3's OAuth2 redirect endpoint (/api/v1/oauth2/{provider}) allows an unauthenticated re

CVE-2026-78428 HIGH POC
8.8 Sep 17

Session cross-wiring in SUSE NeuVector before 5.6.1 allows an unauthenticated remote attacker to obtain another user's a

CVE-2026-92791 HIGH POC
8.7 Sep 16

Unauthenticated path traversal in Uber Kraken through 0.1.29 allows remote attackers to read files outside the configure

CVE-2018-7187 HIGH POC
8.8 Feb 16

The "go get" implementation in Go 1.9.4, when the -insecure command-line option is used, does not validate the import pa

CVE-2026-16651 HIGH POC
8.7 Sep 21

Denial of service in Temporal Server allows an authenticated caller holding at least namespace read permission to crash

CVE-2026-82405 HIGH POC
8.7 Sep 23

Account takeover in Klever-Go's KleverUpdateAccountPermission built-in (all versions prior to 1.7.20) allows an attacker

CVE-2026-82409 HIGH POC
8.4 Sep 23

Maliciously crafted on-chain account names processed by Klever-Go prior to 1.7.20 are spliced into Elasticsearch _bulk r

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