Description
SGLang through 0.5.22 with the Mooncake disaggregation backend accepts unauthenticated decode registration messages on the Prefill rank ZMQ PULL socket, allowing denial of service. Network-adjacent attackers can send many registrations with unique mooncake_session_id values and large nested-buffer frames to exhaust Prefill memory until the scheduler is OOM-killed.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| sgl-project | sglang | ≤ 0.5.22 | — |
References
- https://github.com/sgl-project/sglang/issues/45012 issue-tracking
- https://github.com/sgl-project/sglang/blob/v0.5.22/python/sglang/srt/disaggregation/mooncake/conn.py#L2885-L2935 technical-description
- https://github.com/sgl-project/sglang/blob/v0.5.22/python/sglang/srt/disaggregation/mooncake/conn.py#L889-L909 technical-description
- https://github.com/sgl-project/sglang/blob/v0.5.22/python/sglang/srt/disaggregation/common/utils.py#L47-L69 technical-description
- VulnCheck Advisory: SGLang through 0.5.22 Memory Exhaustion via Unauthenticated Mooncake Decode Registrations third-party-advisory