External risk intelligence

SGLang Remote Code Execution via Pickle Deserialization

CVE advisorySeverity: CRITICAL (CVSS 9.8)

CVE-2026-15976

SGLang is typically used as a backend framework for serving Large Language Models. While it is often deployed in internal research or data center environments to power APIs, it is plausibly reachable from the internet when these models are exposed as public-facing web services or model endpoints, though it is not a traditional internet edge gateway or appliance.

Deserialization

Halo Surface Signal: 3 out of 5 — possibly public-facing.

External exposure likelihood

Horizon Alert

Summary of the vulnerability and why it matters

SGLang, a framework for serving large language models, has a critical vulnerability that could allow unauthorized remote code execution. This occurs when loading model weights from certain sources, as the system may improperly handle potentially malicious files. The main concern is confirming if our deployed SGLang instances are potentially exposed and affected.

  • RCE flaw in SGLang model loading.
  • Critical flaw may impact sensitive systems.
  • Confirm relevance and exposure now.

Attack Path

How an attacker could exploit the issue

An attacker could trigger a remote code execution vulnerability in SGLang by tricking the system into loading specially crafted model weights from a HuggingFace repository. This occurs when SGLang attempts to update weights from disk, and a fallback mechanism within the `torch.load` function, with `weights_only=False`, allows for the deserialization of potentially malicious code embedded in `.bin` files. Successful exploitation could allow an attacker to execute arbitrary code on the affected system.

  • No authentication or user interaction needed.
  • Loading untrusted model weights from HuggingFace.
  • Arbitrary code execution on the server.

Live Threat

Current exploitation, exposure, and threat context

When SGLang attempts to load model weights from a HuggingFace repository, it may deserialize untrusted Python objects via pickle when processing `.bin` files, potentially leading to arbitrary code execution on the host system.

  • Arbitrary code execution on host.
  • Loading untrusted model weights.
  • Compromise of the hosting system.

Operational Fix

Recommended remediation, mitigation, and detection steps

The SGLang RCE vulnerability requires immediate attention from teams responsible for managing AI/ML platforms and infrastructure. The first step is to identify all instances of SGLang, determine their reachability, and assess their criticality to business operations. Once accountable owners are identified, a risk-based remediation plan should be developed, potentially involving vendor coordination or temporary risk reduction measures.

  • Identify SGLang instances and owners.
  • Verify external reachability and criticality.
  • Plan risk-based remediation.

Supplementary metadata

Validate whether this threat affects your internet-facing exposure.

Halo Threat Intelligence helps prioritize remediation with Halo Surface Signal and H/A/L/O context. Start exposure validation with a free external attack surface trial.

Frequently asked questions

What is SGLang used for?

SGLang is a specialized software framework designed for serving Large Language Models (LLMs). Developers and data scientists use it as a high-performance backend to power model APIs and provide efficient infrastructure for running LLMs in research, development, and production environments.

What does CVE-2026-15976 mean for my system?

This vulnerability is classified as CWE-502, which stands for Deserialization of Untrusted Data. In plain English, the system uses a function that can interpret malicious instructions hidden within model weight files. By processing a compromised file, the software may inadvertently run unauthorized commands, leading to full remote code execution on the host.

How does an attacker trigger this vulnerability?

The flaw is triggered when the software attempts to load model weights from a HuggingFace repository using a specific function that defaults to an insecure loading mode. The bug does not trigger during standard inference operations that do not involve updating or loading new model weight files from disk.

Is my SGLang instance at risk?

According to Halo Surface Signal, risk depends on how your infrastructure is deployed. While SGLang is frequently used in internal research or data centers, it may be reachable if you serve models as public-facing web services. If your SGLang endpoints are exposed to the internet, they are at higher risk of being targeted.

How do I respond to this vulnerability?

Start by identifying all deployed instances of SGLang and determining who manages them. Once mapped, verify if these services are accessible from the internet or restricted to internal networks. Prioritize securing any instances that are public-facing while coordinating with your team to review model loading configurations and wait for official updates.

References