CVE-2026-3059
Received Received - Intake
Remote Code Execution in SGLang Multimodal Module via ZMQ Deserialization

Publication date: 2026-03-12

Last updated on: 2026-04-07

Assigner: CERT/CC

Description
SGLang's multimodal generation module is vulnerable to unauthenticated remote code execution through the ZMQ broker, which deserializes untrusted data using pickle.loads() without authentication.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-03-12
Last Modified
2026-04-07
Generated
2026-05-07
AI Q&A
2026-03-12
EPSS Evaluated
2026-05-05
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
lmsys sglang From 0.5.5 (inc) to 0.5.9 (inc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-502 The product deserializes untrusted data without sufficiently ensuring that the resulting data will be valid.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

[{'type': 'paragraph', 'content': "CVE-2026-3059 is a critical remote code execution (RCE) vulnerability in the SGLang multimodal generation module. The vulnerability arises because the ZeroMQ (ZMQ) broker component deserializes untrusted network data using Python's pickle.loads() function without any authentication or validation."}, {'type': 'paragraph', 'content': 'Since pickle.loads() can execute arbitrary code embedded in the serialized data, an attacker who can send data to the ZMQ broker can craft a malicious pickle payload that executes arbitrary commands on the server running SGLang. The broker listens on all network interfaces by default, exposing it to remote unauthenticated attackers.'}] [2]


How can this vulnerability impact me? :

This vulnerability allows an unauthenticated remote attacker to execute arbitrary code on the server running the SGLang multimodal generation module. This means the attacker can run any commands with the same privileges as the SGLang process, potentially leading to full system compromise.

  • Remote code execution without any credentials or user interaction.
  • Potential takeover of the server, including data theft, service disruption, or further network attacks.
  • Exploitation can be triggered with a single malicious ZMQ request containing a crafted pickle payload.

How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

I don't know


How can this vulnerability be detected on my network or system? Can you suggest some commands?

This vulnerability can be detected by identifying if the SGLang multimodal generation ZMQ broker is running and listening on network interfaces, especially if it is bound to all interfaces (tcp://*). Since the broker listens on a TCP port (default HTTP port + 1) without authentication and deserializes incoming data using pickle.loads(), network scanning tools can be used to detect open ZMQ REP sockets on the expected port.

A practical detection method is to scan your network for open TCP ports where the ZMQ broker might be listening. For example, using nmap:

  • nmap -p <broker_port> -sV <target_ip>

Additionally, you can attempt to connect to the ZMQ broker using a ZeroMQ REQ socket and send a ping message to check if the service responds, as the SchedulerClient code includes a ping() method for availability checking.

If you have access to the system running SGLang, you can check for running processes or services related to the multimodal generation server and inspect if the ZMQ broker is bound to all interfaces (0.0.0.0 or tcp://*). For example, using netstat or ss:

  • netstat -tulnp | grep <broker_port>
  • ss -tulnp | grep <broker_port>

These commands help verify if the vulnerable broker is exposed on the network.


What immediate steps should I take to mitigate this vulnerability?

Immediate mitigation steps focus on reducing network exposure and avoiding unsafe deserialization of untrusted data.

  • Restrict the ZMQ broker to bind only to localhost (127.0.0.1) instead of all network interfaces. This prevents remote attackers from accessing the vulnerable service.
  • If possible, apply the proposed patch that modifies the broker binding and introduces a safer serialization wrapper that prefers msgpack over pickle, reducing the risk of arbitrary code execution.
  • Use network-level controls such as firewall rules to block external access to the broker port.
  • Avoid using or exposing the vulnerable versions of SGLang (β‰₯ 0.5.5 through 0.5.9) until an official patch is released.

These steps help prevent exploitation by limiting access and encouraging safer serialization practices.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart