---
id: CVE-2026-93838
title: >-
  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
summary: >-
  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 …
severity: medium
cvss: 5.9
cvssVector: 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H'
cwe:
  - CWE-770
vendor: sgl-project
product: sglang
affected:
  - sglang <= 0.5.20
published: '2026-09-18'
updated: '2026-09-22'
sourceUpdated: '2026-09-22T20:43:58.793'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-93838'
references:
  - url: 'https://github.com/sgl-project/sglang'
    label: disclosure@vulncheck.com
  - url: >-
      https://github.com/sgl-project/sglang/blob/v0.5.20/python/sglang/srt/disaggregation/common/conn.py#L1636-L1640
    label: disclosure@vulncheck.com
  - url: >-
      https://github.com/sgl-project/sglang/blob/v0.5.20/python/sglang/srt/disaggregation/common/staging_handler.py#L781
    label: disclosure@vulncheck.com
  - url: >-
      https://github.com/sgl-project/sglang/blob/v0.5.20/python/sglang/srt/disaggregation/common/staging_handler.py#L848-L860
    label: disclosure@vulncheck.com
  - url: 'https://github.com/sgl-project/sglang/issues/39764'
    label: disclosure@vulncheck.com
  - url: >-
      https://www.vulncheck.com/advisories/sglang-through-0.5.20-unbounded-memory-allocation-via-staging-req-chunk-idx
    label: disclosure@vulncheck.com
  - url: 'https://github.com/sgl-project/sglang/issues/39764'
    label: 134c704f-9b21-4f2e-91b3-4a467353bcc0
tags:
  - nvd
  - cve.org
  - exploit-available
epss: 0.00652
epssPercentile: 0.49093
exploitAvailable: true
ssvc:
  exploitation: poc
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-09-18T20:09:38.130553Z'
ingestedAt: '2026-09-18T19:49:30.603Z'
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
