Skip to main content

SGLang CVE-2026-7304

| EUVDEUVD-2026-30766 CRITICAL
Deserialization of Untrusted Data (CWE-502)
2026-05-18 certcc GHSA-36m8-w8qf-g76p
9.8
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
9.8 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
9.8 CRITICAL

Once the opt-in feature is enabled, exploitation is unauthenticated network RCE with no interaction; the non-default config is a real-world limiter but does not alter base metrics, yielding full C/I/A impact.

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

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

3
Analysis Generated
Jul 23, 2026 - 18:01 vuln.today
CVE Published
May 18, 2026 - 10:39 nvd
UNKNOWN (no severity yet)
CVE Published
May 18, 2026 - 10:39 cve.org
CRITICAL 9.8

DescriptionCVE.org

SGLangs multimodal generation runtime is vulnerable to unauthenticated remote code execution when the --enable-custom-logit-processor option is enabled, as Python objects loaded via dill.loads() will be deserialized without validation.

AnalysisAI

Unauthenticated remote code execution in SGLang (the LLM/multimodal generation serving runtime) affecting version 5.10 arises when the non-default --enable-custom-logit-processor flag is set, allowing attacker-supplied Python objects to be deserialized via dill.loads() and execute arbitrary code on the inference host. No CISA KEV listing exists and SSVC records exploitation as 'none', but a public technical write-up (antiproof.ai, 'Three RCEs in SGLang') details the flaw and SSVC marks it automatable with total technical impact. EPSS is modest at 0.32% (55th percentile), consistent with a serious-but-conditional (feature-gated) issue rather than mass exploitation.

Technical ContextAI

SGLang is a high-performance serving/runtime engine for large language and multimodal models, exposing an HTTP API for generation requests. The 'custom logit processor' feature lets clients supply logic that shapes token sampling; to transport arbitrary Python callables it relies on dill, an extended pickle library. The root cause is CWE-502 (Deserialization of Untrusted Data): dill.loads() reconstructs arbitrary Python objects, and pickle/dill deserialization invokes object constructors and __reduce__ methods, giving an attacker code execution the moment a malicious blob is loaded without type/signature validation. The affected component is identified by CPE cpe:2.3:a:sglang:sglang:*:*:*:*:*:*:*:*, with EUVD naming sglang 5.10.

RemediationAI

No vendor-released patch version is identified in the available data, so the primary compensating control is to disable the vulnerable feature: run SGLang without --enable-custom-logit-processor (it is opt-in and off by default), which removes the untrusted dill.loads() path at the cost of losing client-supplied logit-processor functionality. Additionally restrict network exposure of the SGLang API by binding to localhost or placing it behind an authenticated reverse proxy/allowlist so untrusted clients cannot reach the generation endpoint, and monitor the project for a patched release before re-enabling the feature. Consult the upstream project (https://github.com/sgl-project/sglang) and the technical analysis at https://antiproof.ai/blog/three-rces-in-sglang/ for fix status; upgrade to a fixed version once the vendor publishes one, since disabling the feature is a mitigation rather than a code-level fix.

More in Python

View all
CVE-2025-24016 CRITICAL POC
9.9 Feb 10

Wazuh SIEM platform versions 4.4.0 through 4.9.0 contain an unsafe deserialization vulnerability in the DistributedAPI t

CVE-2025-27520 CRITICAL POC
9.8 Apr 04

BentoML version 1.4.2 and earlier contains an unauthenticated remote code execution vulnerability through insecure deser

CVE-2025-2945 CRITICAL POC
9.9 Apr 03

pgAdmin 4 contains critical remote code execution vulnerabilities in the Query Tool download and Cloud Deployment endpoi

CVE-2013-5093 MEDIUM POC
6.8 Sep 27

The renderLocalView function in render/views.py in graphite-web in Graphite 0.9.5 through 0.9.10 uses the pickle Python

CVE-2025-32375 CRITICAL POC
9.8 Apr 09

BentoML is a Python library for building online serving systems optimized for AI apps and model inference. Rated critica

CVE-2014-0224 HIGH POC
7.4 Jun 05

OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph

CVE-2024-21644 HIGH POC
7.5 Jan 08

pyLoad download manager version prior to 0.5.0b3.dev77 exposes the Flask SECRET_KEY through an unauthenticated endpoint.

CVE-2026-33017 CRITICAL POC
9.3 Mar 17

Langflow (a visual LLM pipeline builder) contains a critical unauthenticated code execution vulnerability (CVE-2026-3301

CVE-2017-9462 HIGH POC
8.8 Jun 06

In Mercurial before 4.1.3, "hg serve --stdio" allows remote authenticated users to launch the Python debugger, and conse

CVE-2026-49869 CRITICAL POC
10.0 Jun 26

Unauthenticated remote code execution affects Kestra OSS (the open-source event-driven orchestration platform) prior to

CVE-2026-39987 CRITICAL POC
9.3 Apr 08

Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/

CVE-2024-21645 MEDIUM POC
5.3 Jan 08

pyLoad is the free and open-source Download Manager written in pure Python. Rated medium severity (CVSS 5.3), this vulne

Share

CVE-2026-7304 vulnerability details – vuln.today

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