CVE-2026-92361 Overview
CVE-2026-92361 is a resource consumption vulnerability affecting the ag-ui-protocol ag-ui project version 1.0. The flaw resides in the Server-Sent Events (SSE) client implementation, specifically within sdks/community/go/pkg/client/sse/client.go. Remote attackers can trigger uncontrolled resource consumption without user interaction, leading to degraded availability of applications relying on the affected SDK. The weakness is categorized under CWE-400: Uncontrolled Resource Consumption. A pull request to remediate the issue has been proposed but awaits acceptance by the maintainers at the time of publication.
Critical Impact
Remote attackers with low privileges can exhaust system resources through the SSE client, degrading availability of applications embedding the ag-ui Go SDK.
Affected Products
- ag-ui-protocol ag-ui version 1.0
- Community Go SDK component (sdks/community/go/pkg/client/sse/client.go)
- SSE Client subsystem within the ag-ui protocol implementation
Discovery Timeline
- 2026-09-16 - CVE-2026-92361 published to the National Vulnerability Database
- 2026-09-16 - Last updated in the NVD database
Technical Details for CVE-2026-92361
Vulnerability Analysis
The vulnerability affects the SSE client implementation shipped in the community Go SDK of the ag-ui-protocol project. SSE clients maintain long-lived HTTP connections to receive streaming events from a server. When the client-side handling of these streams lacks proper bounds on buffered data, connection lifetime, or reconnection attempts, an attacker-controlled or attacker-influenced server can drive the client to consume excessive memory, file descriptors, or CPU cycles. The flaw is remotely reachable and requires only low privileges on the calling application, with no user interaction. Impact is limited to availability; confidentiality and integrity of data handled by the client are not affected. See the GitHub Issue #2438 and Pull Request #2700 for maintainer discussion.
Root Cause
The root cause is uncontrolled resource consumption [CWE-400] in the SSE client logic contained in client.go. The client does not sufficiently constrain the resources allocated while processing inbound event streams. Without ceilings on buffered payload size, message counts, or connection retries, an adversary can force the client into resource-intensive states that persist across the lifetime of the connection.
Attack Vector
The attack vector is network-based. An attacker who controls or can influence the SSE server endpoint that the Go client connects to can send crafted event streams designed to exhaust client-side resources. Because SSE is a long-lived, server-push channel, the client processes attacker-supplied data continuously, amplifying the impact of any missing consumption limits. Refer to the VulDB entry for CVE-2026-92361 for additional context.
No verified proof-of-concept code is publicly available. The vulnerability manifests inside the SSE consumer loop within client.go; consult the linked project references for source-level details.
Detection Methods for CVE-2026-92361
Indicators of Compromise
- Sustained high memory or CPU usage in Go processes that import the ag-ui community SDK SSE client.
- Unusual growth in open file descriptors or goroutine counts associated with SSE connections.
- Repeated or long-lived outbound HTTP connections to unexpected SSE endpoints.
Detection Strategies
- Perform a software composition analysis (SCA) scan across Go modules to identify use of the ag-ui-protocol community SDK at version 1.0.
- Instrument the Go runtime with metrics (goroutines, heap allocations, open sockets) and alert on anomalous growth tied to SSE consumers.
- Review application logs for repeated SSE reconnect attempts or oversized event payloads emitted by upstream servers.
Monitoring Recommendations
- Baseline normal SSE connection duration, event rate, and payload size, then alert on statistical deviations.
- Monitor egress traffic for connections to untrusted or newly observed SSE endpoints originating from workloads that embed the SDK.
- Track resource-consumption trends on hosts running affected services to detect gradual exhaustion patterns typical of [CWE-400] flaws.
How to Mitigate CVE-2026-92361
Immediate Actions Required
- Inventory Go applications that depend on ag-ui-protocol ag-ui 1.0 and specifically the sdks/community/go/pkg/client/sse package.
- Restrict outbound SSE connections from affected workloads to a known allowlist of trusted event servers.
- Apply per-process resource limits (memory, file descriptors, goroutine caps at the application layer) to contain exhaustion impact.
Patch Information
A fix has been proposed upstream in GitHub Pull Request #2700 but has not been merged at the time of publication. Track the ag-ui GitHub repository and Issue #2438 for release information, and upgrade to the fixed version once available. Additional metadata is available via the VulDB advisory.
Workarounds
- Wrap SSE client calls with context-based timeouts and maximum message size checks before the pull request is merged.
- Terminate long-lived SSE connections after a bounded duration and require reconnection with backoff to cap resource growth.
- Segment services that consume untrusted SSE streams into isolated containers or namespaces with strict cgroup memory and CPU limits.
# Example: enforce cgroup-based resource limits on a container running the affected SDK
docker run \
--memory=256m \
--memory-swap=256m \
--cpus=0.5 \
--pids-limit=256 \
--ulimit nofile=1024:1024 \
my-ag-ui-go-service:latest
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.