CVE-2026-15976: SGLang insecure pickle deserialization in weight update endpoint

CVE-2026-15976 · Severity: info · CVSS 9.8 · Published 2026-07-30

SGLang, an open-source framework for serving Large Language Models (LLMs), contains a vulnerability that allows for remote code execution. The flaw exists in how the system handles model weight updates from external sources like HuggingFace. If an attacker can reach the server's management interface, they can force the system to load a malicious file that executes arbitrary commands on the underlying server, potentially leading to a full system takeover and data theft.

Technologies: SGLang Project SGLang. Vendors: SGLang Project.

Quick answers

Is CVE-2026-15976 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-15976 being exploited in the wild.
How severe is CVE-2026-15976?
Informational severity, with a CVSS score of 9.8, published 30 July 2026.
Which products and versions are affected?
SGLang Project SGLang <= v0.5.15.
Is there a fix for CVE-2026-15976?
No fixed version is recorded yet. Check the vendor's advisory in the references below. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.
How is CVE-2026-15976 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-15976?
Check whether you run SGLang Project SGLang at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

Technical details

A remote code execution vulnerability exists in SGLang versions up to and including v0.5.15. The vulnerability is located within the `/update_weights_from_disk` endpoint, which is used to load or update model weights from disk or HuggingFace repositories. When processing `.bin` files, the application utilizes `torch.load()` with the `weights_only=False` fallback enabled. This configuration allows for the deserialization of arbitrary Python objects via the `pickle` module. An attacker who can reach this administrative route—which may be unauthenticated if API keys are not explicitly configured—can provide a malicious legacy checkpoint file to achieve arbitrary code execution in the context of the server process.

Affected products

  • SGLang Project SGLang <= v0.5.15

Timeline

  • 2026-04-22: disclosed: Initial disclosure to maintainers via GitHub Security Advisories
  • 2026-07-30: advisory: Public disclosure via CERT/CC and NVD

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.