Skip to main content

SGLang CVE-2026-109228

| EUVDEUVD-2026-97434 HIGH
Allocation of Resources Without Limits or Throttling (CWE-770)
2026-10-12 VulnCheck GHSA-2mhj-6r3c-c9xj
8.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Reach exposed SGLang GLM-4V endpoint
  2. Delivery
    Craft video_url with inflated fps/max_frames/token limits
  3. Exploit
    Server bypasses budget, decodes full-resolution frames
  4. Execution
    Worker memory exhausted
  5. Impact
    Service denial for legitimate users

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource allocation 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 target SGLang instance (version ≤0.5.21) to be serving a GLM-4V (GLM-V) multimodal model and to accept video_url inputs, because the flaw is specific to the glm4v.py video-processing path that trusts client-supplied fps, max_frames, max_tokens_per_frame, and max_image_tokens fields instead of enforcing server-side budgets. The attacker must be able to reach the inference API endpoint and submit these parameters in the video_url object; per CVSS PR:N no authentication is required by the base vector, though in practice the endpoint is often fronted by a proxy or network boundary. Limiting factors: deployments not serving GLM-4V, not enabling video input, or upgraded past 0.5.21 are not affected; impact is denial of service only (no code execution or data exposure).

Impact

All available signals point to a genuine availability risk but not a top-tier emergency. The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) describes a network-reachable, low-complexity, unauthenticated attack with no user interaction, and impact is confined to availability (VA:H; VC:N/VI:N - no confidentiality or integrity loss), consistent with CWE-770 uncontrolled resource consumption and the 'Denial Of Service' tag. The 8.7 score is driven almost entirely by the ease of reaching the endpoint plus high availability impact, not by any code-execution or data-exposure potential. No EPSS score, SSVC decision, KEV listing, or POC indicator is present in the input, so exploitation probability and automatability cannot be quantified from the data. There is no CISA KEV entry (not actively exploited per available data) and no public exploit identified at time of analysis, so this is a credible-but-prioritize-by-exposure issue rather than a confirmed in-the-wild threat. Important scoping caveat: the PR:N rating assumes the SGLang inference endpoint is reachable without authentication; in production SGLang is frequently deployed behind an API gateway, reverse proxy, or internal network boundary, which would raise the practical barrier even though the base vector says PR:N.

Exploit ScenarioDerived

An attacker with network access to an SGLang server hosting a GLM-4V vision model submits a chat/completions request containing a video_url object with fps, max_frames, max_tokens_per_frame, and max_image_tokens set to extreme values. Because glm4v.py honors these client-supplied limits instead of enforcing server-side caps, the worker decodes every frame of a high-resolution video at full resolution, exhausting memory and crashing or hanging the worker, denying service to legitimate users. No public exploit code is identified at time of analysis, but the attack requires only a crafted JSON request against a documented API field.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.5% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 12, 2026

Memory exhaustion denial of service in SGLang through 0.5.21 allows unauthenticated remote attackers to override the GLM-V video-processing resource budget by supplying attacker-controlled fps, max_frames, max_tokens_per_frame, and max_image_tokens values inside the video_url object of an inference request, causing glm4v.py to decode every frame of a high-resolution video at full size until worker memory is exhausted. Per CVSS PR:N in both the vendor-supplied CVSS 4.0 vector and the assessed CVSS:3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H), the request path requires no authentication from the base vector, although in practice the endpoint is often fronted by a proxy or network boundary. Exploitation is limited to deployments serving a GLM-4V (GLM-V) multimodal model that accept video_url inputs; impact is availability only, with no code execution or data exposure, and no public exploit identified at time of analysis (no CISA KEV entry, no POC referenced).

RemediationAI

No vendor-released patch identified at time of analysis; the only upstream reference is tracking issue https://github.com/sgl-project/sglang/issues/43705, so confirm the fixed release (expected to be a version later than 0.5.21) via the project repository at https://github.com/sgl-project/sglang and the VulnCheck advisory at https://www.vulncheck.com/advisories/sglang-through-0.5.21-resource-budget-bypass-via-glm-v-video-parameters before upgrading. Until a patched version is confirmed, the most effective compensating control is to enforce server-side caps before requests reach glm4v.py: terminate the inference API behind a gateway or reverse proxy that rejects or clamps oversized fps, max_frames, max_tokens_per_frame, and max_image_tokens values in the video_url object, accepting the trade-off that legitimate long or high-frame-rate video analysis will be truncated or refused. A second control is to require authentication and restrict the multimodal/video endpoint to trusted clients at the proxy layer, recognizing that this does not fix the underlying trust of client-supplied fields and adds operational friction. A third is to run each worker under a cgroup/container memory limit with restart-on-OOM and per-worker request concurrency limits, which converts a full-node denial of service into a single-worker restart at the cost of transient request failures and possible throughput loss. Where GLM-4V video input is not required, disabling the video_url code path entirely removes the exposure with the side effect of removing that feature for all users; monitoring memory growth and abnormally large video request payloads provides additional detection but not prevention.

Affected VersionsENISA

sglang 0 ≤0.5.21

Affected Packages

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

SGLang is an LLM serving framework whose OpenAI-compatible entrypoint exposes multimodal request schemas, including the video_url object whose fields (fps, max_frames, max_tokens_per_frame, max_image_tokens) are declared in python/sglang/srt/entrypoints/openai/protocol.py at lines 592-594 and parsed via the conversation parser (conversation.py line 691). The root cause is CWE-770, Allocation of Resources Without Limits or Throttling: the GLM-4V processing path in python/sglang/srt/multimodal/processors/glm4v.py (lines 160-167 and 400) accepts these client-supplied values as the authoritative budget instead of clamping them to server-side defaults. Because the params directly control frame sampling (fps, max_frames) and per-frame token budget (max_tokens_per_frame, max_image_tokens), an attacker can set arbitrarily high values so that every frame of a high-resolution video is decoded and tokenized at full size, inflating memory per request until the worker is exhausted. The CPE cpe:2.3:a:sgl-project:sglang:*:*:*:*:*:*:*:* confirms all SGLang builds through 0.5.21 as the affected code base, and the flaw is specific to the GLM-V video pipeline rather than the general text or image serving paths.

Know when Sglang 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 (VulnCheck) PRIMARY 8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 7.5 HIGH

Unauthenticated network request with no user interaction triggers resource exhaustion, so AV:N/AC:L/PR:N/UI:N; impact is availability-only (A:H) with no confidentiality or integrity effect and no scope change.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

SGLang through 0.5.21 contains a resource budget bypass vulnerability that allows remote attackers to override GLM-V video processing limits by supplying fps, max_frames, max_tokens_per_frame and max_image_tokens in the video_url object. Attackers can set these values arbitrarily high so glm4v.py decodes every frame of high-resolution video at full size, exhausting worker memory and denying service.

Executive ViewAI

Why It Matters

Organizations running SGLang version 0.5.21 or earlier to serve GLM-4V multimodal models are exposed to unauthenticated remote denial-of-service attacks that can exhaust worker memory and take inference services offline. Because the attack requires only a crafted video input and no credentials, any externally reachable deployment is at risk, potentially disrupting customer-facing AI applications and internal workflows. Leadership should prioritize mitigation given the high availability impact and lack of a vendor patch; no public exploit identified at time of analysis.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: restrict network access to SGLang endpoints, enforce authentication via proxy, validate and cap video processing parameters (fps, max_frames, max_tokens_per_frame, max_image_tokens), apply container memory limits and rate limiting, and monitor for memory exhaustion.

Threat Intelligence Overview

EPSS Score
0.5%
Top 59% exploitable
Prevalence
Medium
popular open-source LLM inference engine, but GLM-4V video path is a narrower subset
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

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 HIGH
CISA KEV No
Public POC No
EPSS 0.5%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
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 Sglang

View all
CVE-2026-112082 HIGH POC
7.7 Oct 19

Unauthenticated remote attackers can crash the SGLang inference server (versions up to and including 0.5.19) by calling

CVE-2026-15969 CRITICAL
9.8 Jul 30

Remote code execution in SGLang (versions up to and including 0.5.15) allows unauthenticated attackers to run arbitrary

CVE-2026-3059 CRITICAL
9.8 Mar 12

SGLang's multimodal generation module deserializes untrusted data with pickle.loads() over an unauthenticated ZMQ broker

CVE-2026-3060 CRITICAL
9.8 Mar 12

SGLang's encoder parallel disaggregation system is vulnerable to unauthenticated RCE through pickle deserialization in t

CVE-2026-7304 CRITICAL
9.8 May 18

Unauthenticated remote code execution in SGLang (the LLM/multimodal generation serving runtime) affecting version 5.10 a

CVE-2026-5760 CRITICAL
9.8 Apr 20

Remote code execution in SGLang 0.5.9's /v1/rerank endpoint allows unauthenticated attackers to execute arbitrary code b

CVE-2026-15976 CRITICAL
9.8 Jul 30

Remote code execution in SGLang (versions up to and including 0.5.15) allows attackers to run arbitrary code on the infe

CVE-2026-86793 CRITICAL
9.8 Sep 11

Remote code execution in SGLang AI inference servers allows unauthenticated attackers to run arbitrary code through the

CVE-2026-15971 CRITICAL
9.8 Jul 30

Remote code execution in SGLang (versions ≤ v0.5.15) allows attackers to achieve arbitrary code execution through the op

CVE-2026-7301 CRITICAL
9.8 May 18

Unauthenticated remote code execution affects SGLang, an LLM/multimodal inference-serving framework, at version 5.10, wh

CVE-2026-93034 CRITICAL
9.8 Oct 08

Unauthenticated remote code execution in SGLang versions through v0.5.20 arises from unsafe pickle deserialization in th

CVE-2026-93088 CRITICAL
9.8 Sep 22

Unauthenticated remote code execution in SGLang 0.5.11 through 0.5.14 occurs when the multimodal generation runtime is l

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