CVE-2026-3989
CVE-2026-3989
SGLangs replay_request_dump.py contains an insecure pickle.load() without validation and proper deserialization. An attacker can take advantage of this by providing a malicious .pkl file, which will execute the attackers code on the device running the script.
Attack profile
How easy it is to exploit
- Attack vector
- Local
- Complexity
- Low
- Privileges needed
- None
- User interaction
- Required
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
7.8
CVE-2026-3989
SGLangs replay_request_dump.py contains an insecure pickle.load() without validation and proper deserialization. An attacker can take advantage of this by providing a malicious .pkl file, which will execute the attackers code on the device running the script.
- Record
CVE-2026-3989- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
EUVDEUVD-2026-11561
7.8
SGLangs replay_request_dump.py contains an insecure pickle.load() without validation and proper deserialization. An attacker can take advantage of this by providing a malicious .pkl file, which will execute the attackers code on the device running the script.
- Record
EUVD-2026-11561- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-hvwj-8w5g-28rg
7.8
SGLangs `replay_request_dump.py` contains an insecure pickle.load() without validation and proper deserialization
SGLangs replay_request_dump.py contains an insecure pickle.load() without validation and proper deserialization. An attacker can take advantage of this by providing a malicious .pkl file, which will execute the attackers code on the device running the script.
- Record
GHSA-hvwj-8w5g-28rg- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Weakness
- CWE-502
- Updated
- 2026-11-02
NVD
7.8
SGLangs replay_request_dump.py contains an insecure pickle.load() without validation and proper deserialization. An attacker can take advantage of this by providing a malicious .pkl file, which will execute the attackers code on the device running the script.
- Record
CVE-2026-3989- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Weakness
- CWE-502
- Updated
- 2026-11-02
OSV
7.8
CVE-2026-3989
SGLangs replay_request_dump.py contains an insecure pickle.load() without validation and proper deserialization. An attacker can take advantage of this by providing a malicious .pkl file, which will execute the attackers code on the device running the script.
- Record
CVE-2026-3989- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVGHSA-hvwj-8w5g-28rg
7.8
SGLangs `replay_request_dump.py` contains an insecure pickle.load() without validation and proper deserialization
SGLangs replay_request_dump.py contains an insecure pickle.load() without validation and proper deserialization. An attacker can take advantage of this by providing a malicious .pkl file, which will execute the attackers code on the device running the script.
- Record
GHSA-hvwj-8w5g-28rg- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Weakness
- CWE-502
- Updated
- 2026-11-02
OSVPYSEC-2026-3063
7.8
SGLangs `replay_request_dump.py` contains an insecure pickle.load() without validation and proper deserialization
SGLangs replay_request_dump.py contains an insecure pickle.load() without validation and proper deserialization. An attacker can take advantage of this by providing a malicious .pkl file, which will execute the attackers code on the device running the script.
- Record
PYSEC-2026-3063- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
sglangPyPI |
through 0.5.9 | 0.5.10 |
sglangPyPI |
before 0.5.10, plus listed versions 0.1.100.1.110.1.120.1.130.1.14 Show 45 moreShow less0.1.150.1.160.1.170.1.180.1.190.1.200.1.210.1.220.1.240.1.250.1.260.1.30.1.40.1.50.1.60.1.70.1.90.2.00.2.10.2.100.2.110.2.120.2.130.2.140.2.14.post10.2.14.post20.2.150.2.20.2.30.2.40.2.50.2.60.2.70.2.80.2.90.2.9.post10.3.00.3.10.3.1.post10.3.1.post20.3.1.post30.3.20.3.30.3.3.post10.3.4 |
0.5.10 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-3989 is a high vulnerability (CVSS 7.8) in Lmsys Sglang, published March 12, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.54%, the 45th percentile. Fixed in sglang 0.5.10.
References
github.com/sgl-project/sglang/blob/main/scripts/playground/replay_request_dump.py
orca.security/resources/blog/sglang-llm-framework-rce-vulnerabilities
github.com/sgl-project/sglang/releases/tag/v0.5.10
github.com/sgl-project/sglang/pull/20904
nvd.nist.gov/vuln/detail/CVE-2026-3989
github.com/advisories/GHSA-hvwj-8w5g-28rg
github.com/CVEProject/cvelistV5/tree/main/cves/2026/3xxx/CVE-2026-3989.json
github.com/sgl-project/sglang
pypi.org/project/sglang
Left out here: 92 versions. The JSON record has them.