Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach agent HTTP endpoint
-
DeliverySend oversized/chunked request body
-
ExploitreadAllBytes buffers entire body in heap
-
ExecutionExhaust JVM memory
-
ImpactService degradation or crash
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 network reachability to an application that instantiates JdkAgentHttpHandler from the ag-ui Java community server SDK using either two-argument constructor (which defaulted to no body-size limit before the fix). The attacker sends an oversized request body - or a chunked request without Content-Length - to the agent context path (e.g. '/agent'). The limiting factors are: the target must actually deploy this specific Java SDK handler (a niche component), and impact is bounded to availability (memory exhaustion) with no data exposure. The vendor rates this PR:L (some access level), though the shown handler contains no authentication, so credential requirements are deployment-dependent and not confirmed by the code. |
| Impact | This is a genuine but low-to-moderate severity denial-of-service issue (CWE-400 uncontrolled resource consumption). The pre-patch code path |
| Exploit ScenarioDerived | An attacker who can reach the agent HTTP endpoint served by JdkAgentHttpHandler sends a single HTTP request with an enormous body (or a chunked request with no Content-Length). The unbounded |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 28, 2026
Unbounded request-body reads in the ag-ui Java community server SDK (JdkAgentHttpHandler, used by applications that instantiate the two-argument handler constructors) allow a remote attacker to exhaust server heap memory by posting an oversized body - or a chunked body without a Content-Length header - to the agent context path, causing a denial of service. The issue affects ag-ui releases up to 2026-09-23 and is rated low-to-moderate (CVSS 4.0 base 5.3; our independent assessment CVSS 3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L), with impact confined to availability and no confidentiality or integrity effect. No public exploit code or confirmed active exploitation was identified at time of analysis, and the handler's lack of built-in authentication means the practical privilege requirement depends on how each deployment fronts the endpoint; an upstream fix exists as pull request #2671 but is not yet merged/accepted.
RemediationAI
Upstream fix available (PR/commit); released patched version not independently confirmed. The corrective change is https://github.com/ag-ui-protocol/ag-ui/pull/2671, which you should merge or track until it lands in a tagged ag-ui release and then upgrade the sdks/community/java/ag-ui/server artifact to that release - after the fix, the default cap is 8 MiB (DEFAULT_MAX_REQUEST_BODY_BYTES = 8,388,608) and larger bodies receive HTTP 413 without touching the serializer or agent, which is a behavioral break for any client legitimately posting more than 8 MiB; those deployments must explicitly use the three-argument constructor with a larger maxRequestBodyBytes. Because the PR is not yet accepted, immediate compensating controls matter: terminate the agent endpoint behind a reverse proxy or API gateway that enforces a hard request-body ceiling and rejects chunked uploads lacking a usable length (for example nginx client_max_body_size on the /agent location), accepting that a proxy may buffer streaming/SSE agent responses unless proxy_buffering is disabled; disable or refuse chunked transfer encoding at the edge if your clients do not need it; restrict network access to the agent context path (mTLS, allowlisting, or binding the listener to a private interface) so only trusted callers can reach it, which blunts the attack without changing the vulnerable code; and cap the JVM heap with -Xmx so an oversized body fails fast rather than consuming the whole host, with the trade-off that memory-exhaustion requests will still produce OutOfMemoryError-driven request failures. Rate limiting per source IP and monitoring for abnormally large or unbounded Content-Length values provide additional detection while the patched artifact is unavailable; full details and vendor context are at the advisory URLs listed in the references.
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
The flaw is CWE-400 (Uncontrolled Resource Consumption) in the Java community server SDK of the ag-ui protocol project (CPE cpe:2.3:a:ag-ui-protocol:ag-ui:*:*:*:*:*:*:*:*). JdkAgentHttpHandler is a com.sun.net.httpserver.HttpHandler implementation that services the '/agent' context; its handle() method previously called exchange.getRequestBody().readAllBytes() and then constructed a UTF-8 String from the result, so the entire request body was buffered into a byte array and copied again into a String with no size ceiling. Any peer that can reach the HTTP endpoint can therefore drive heap allocation proportional to the request body, and chunked transfer encoding is especially effective because no Content-Length is present to allow an early rejection. The component is already privileged/non-public in the sense that it runs JDK's HttpServer context handling with whatever serializer and agent registry the host application wires in; the handler itself performs no credential check, which is why the vendor's CVSS 4.0 vector marks PR:L while our assessment treats the attack as unauthenticated (PR:N) - authentication, where it exists, is imposed by the deployment, not by the vulnerable code. The proposed fix (PR #2671) introduces DEFAULT_MAX_REQUEST_BODY_BYTES = 8 MiB, validates a configurable limit between 1 and Integer.MAX_VALUE - 1 via a third constructor argument, rejects oversized Content-Length values before reading, and otherwise reads at most limit + 1 bytes with readNBytes() and answers HTTP 413 without invoking the serializer or agent.
Know when Java 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 unbounded body read with no auth check in the handler (PR:N, diverging from vendor PR:L); impact is availability-only and bounded per-request, so A:L, no C/I.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
DescriptionCVE.org
A security vulnerability has been detected in ag-ui-protocol ag-ui up to 2026-09-23. Affected by this issue is the function readAllBytes of the file JdkAgentHttpHandler.java of the component HTTP Handler. Such manipulation leads to resource consumption. The attack can be launched remotely. The pull request to fix this issue awaits acceptance.
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.
Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m
Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti
Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent
Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug
JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up
Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up
The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow
Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla
The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during
EUVD-2026-88366
GHSA-526v-5gxg-x6jc
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB