Description
SGLang versions through 0.5.20 contain an unbounded memory allocation vulnerability in handle_staging_req() that fails to validate chunk_idx from ZMQ STAGING_REQ frames in prefill/decode disaggregation deployments. Attackers with access to the decode engine's internal ZMQ rank port can send a frame with an extremely large chunk_idx value, causing the scheduler to allocate memory until the system runs out and terminates the process.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| sgl-project | sglang | ≤ 0.5.20 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | python-sglang | 0.5.20-1.1 | openSUSE-SU-2026:11865-1 |
Advisories 1
- openSUSE-SU-2026:11865-1 python313-sglang-0.5.20-1.1 on GA media SUSE / openSUSE Security Updates · Sep 24, 2026
References
- GitHub Issue #39764 issue-tracking
- https://github.com/sgl-project/sglang product
- https://github.com/sgl-project/sglang/blob/v0.5.20/python/sglang/srt/disaggregation/common/staging_handler.py#L781 technical-description
- https://github.com/sgl-project/sglang/blob/v0.5.20/python/sglang/srt/disaggregation/common/staging_handler.py#L848-L860 technical-description
- https://github.com/sgl-project/sglang/blob/v0.5.20/python/sglang/srt/disaggregation/common/conn.py#L1636-L1640 technical-description
- VulnCheck Advisory: SGLang through 0.5.20 Unbounded Memory Allocation via STAGING_REQ chunk_idx third-party-advisory