Skip to main content

ag-ui Java SDK CVE-2026-101098

| EUVDEUVD-2026-88366 MEDIUM
Uncontrolled Resource Consumption (CWE-400)
2026-09-28 VulDB GHSA-526v-5gxg-x6jc
5.3
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

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

  1. Access
    Reach agent HTTP endpoint
  2. Delivery
    Send oversized/chunked request body
  3. Exploit
    readAllBytes buffers entire body in heap
  4. Execution
    Exhaust JVM memory
  5. Impact
    Service 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 new String(exchange.getRequestBody().readAllBytes(), ...) buffers the entire HTTP request body into a byte array with no size ceiling, so a client sending an arbitrarily large body forces unbounded heap allocation on the server JVM. The vendor CVSS 4.0 vector (AV:N/AC:L/PR:L/UI:N/VA:L, base 5.3) reflects a network-reachable, low-complexity attack with only limited availability impact and no confidentiality or integrity impact - consistent with the fix, which simply caps bodies at 8 MiB and returns HTTP 413. No EPSS score, no CISA KEV listing, and no public exploit code are present in the supplied intelligence, so exploitation is theoretical at this time. Note a conflict in the metadata: the description states 'the pull request to fix this issue awaits acceptance' while the metadata says 'Patch: Available from vendor' - the fix (PR #2671) exists but may not yet be merged/released, so treat patch availability as pending verification. Also note the PR:L (authenticated) rating is questionable: the JDK HttpHandler shown carries no authentication logic, so in default deployments the DoS may be reachable without credentials. Overall this is a real hygiene fix for operators of the Java SDK, not a high-urgency emergency.

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 readAllBytes() call allocates the whole payload in memory, and repeated or sufficiently large requests exhaust the JVM heap and degrade or crash the service. No public exploit code is identified at time of analysis; the attack is trivial to reproduce given the described code path.

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

ag-ui 2026-09-23

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

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

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.

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

EPSS Score
0.5%
Top 59% exploitable
Prevalence
Low
niche community Java SDK server for an agent-UI protocol
Data Quality
6 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 Java

View all
CVE-2012-4681 CRITICAL POC
9.8 Aug 28

Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m

CVE-2015-7450 CRITICAL POC
9.8 Jan 02

Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti

CVE-2013-2465 CRITICAL POC
9.8 Jun 18

Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent

CVE-2011-3544 CRITICAL POC
9.8 Oct 19

Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug

CVE-2010-1871 HIGH POC
8.8 Aug 05

JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to

CVE-2012-1723 CRITICAL POC
9.8 Jun 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up

CVE-2013-0422 CRITICAL POC
9.8 Jan 10

Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using

CVE-2012-0507 CRITICAL POC
9.8 Jun 07

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up

CVE-2015-4852 CRITICAL POC
9.8 Nov 18

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

CVE-2012-5076 CRITICAL POC
9.8 Oct 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow

CVE-2017-3066 CRITICAL POC
9.8 Apr 27

Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla

CVE-2012-0391 CRITICAL POC
9.8 Jan 08

The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during

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