{"id":"CVE-2026-3060","aliases":["EUVD-2026-11559","GHSA-jx93-g359-86wm","PYSEC-2026-537"],"status":"published","title":"CVE-2026-3060","description":"SGLang' encoder parallel disaggregation system is vulnerable to unauthenticated remote code execution through the disaggregation module, which deserializes untrusted data using pickle.loads() without authentication.","severity":{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"adp","from":"cve"},"epss":{"day":"2026-11-09","score":0.01331,"percentile":0.71282,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-502"],"published":"2026-03-12T11:37:37Z","modified":"2026-10-28T02:30:50Z","fixes":[{"ecosystem":"PyPI","package":"sglang","fixed_in":["0.5.10"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"sglang","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"0.5.9"},{"fixed":"0.5.10"}]}]},{"source":"osv","ecosystem":"PyPI","package":"sglang","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.5.10"}]}],"versions":["0.1.10","0.1.11","0.1.12","0.1.13","0.1.14","0.1.15","0.1.16","0.1.17","0.1.18","0.1.19","0.1.20","0.1.21","0.1.22","0.1.24","0.1.25","0.1.26","0.1.3","0.1.4","0.1.5","0.1.6","0.1.7","0.1.9","0.2.0","0.2.1","0.2.10","0.2.11","0.2.12","0.2.13","0.2.14","0.2.14.post1","0.2.14.post2","0.2.15","0.2.2","0.2.3","0.2.4","0.2.5","0.2.6","0.2.7","0.2.8","0.2.9","0.2.9.post1","0.3.0","0.3.1","0.3.1.post1","0.3.1.post2","0.3.1.post3","0.3.2","0.3.3","0.3.3.post1","0.3.4","0.3.4.post1","0.3.4.post2","0.3.5","0.3.5.post1","0.3.5.post2","0.3.6","0.3.6.post1","0.3.6.post2","0.3.6.post3","0.4.0","0.4.0.post1","0.4.0.post2","0.4.1","0.4.1.post1","0.4.1.post2","0.4.1.post3","0.4.1.post4","0.4.1.post5","0.4.1.post6","0.4.1.post7","0.4.10","0.4.10.post1","0.4.10.post2","0.4.2","0.4.2.post1","0.4.2.post2","0.4.2.post3","0.4.2.post4","0.4.3","0.4.3.post1","0.4.3.post2","0.4.3.post3","0.4.3.post4","0.4.4","0.4.4.post1","0.4.4.post2","0.4.4.post3","0.4.4.post4","0.4.5","0.4.5.post1","0.4.5.post2","0.4.5.post3","0.4.6","0.4.6.post1","0.4.6.post2","0.4.6.post3","0.4.6.post4","0.4.6.post5","0.4.7","0.4.7.post1","0.4.8","0.4.8.post1","0.4.9","0.4.9.post1","0.4.9.post2","0.4.9.post3","0.4.9.post4","0.4.9.post5","0.4.9.post6","0.5.0rc0","0.5.0rc1","0.5.0rc2","0.5.1","0.5.1.post1","0.5.1.post2","0.5.1.post3","0.5.10rc0","0.5.2","0.5.2rc0","0.5.2rc1","0.5.2rc2","0.5.3","0.5.3.post1","0.5.3.post2","0.5.3.post3","0.5.3rc0","0.5.3rc2","0.5.4","0.5.4.post1","0.5.4.post2","0.5.4.post3","0.5.5","0.5.5.post1","0.5.5.post2","0.5.5.post3","0.5.6","0.5.6.post1","0.5.6.post2","0.5.7","0.5.8","0.5.8.post1","0.5.9"]},{"source":"osv","ecosystem":"PyPI","package":"sglang","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.5.10"}]}],"versions":["0.1.10","0.1.11","0.1.12","0.1.13","0.1.14","0.1.15","0.1.16","0.1.17","0.1.18","0.1.19","0.1.20","0.1.21","0.1.22","0.1.24","0.1.25","0.1.26","0.1.3","0.1.4","0.1.5","0.1.6","0.1.7","0.1.9","0.2.0","0.2.1","0.2.10","0.2.11","0.2.12","0.2.13","0.2.14","0.2.14.post1","0.2.14.post2","0.2.15","0.2.2","0.2.3","0.2.4","0.2.5","0.2.6","0.2.7","0.2.8","0.2.9","0.2.9.post1","0.3.0","0.3.1","0.3.1.post1","0.3.1.post2","0.3.1.post3","0.3.2","0.3.3","0.3.3.post1","0.3.4","0.3.4.post1","0.3.4.post2","0.3.5","0.3.5.post1","0.3.5.post2","0.3.6","0.3.6.post1","0.3.6.post2","0.3.6.post3","0.4.0","0.4.0.post1","0.4.0.post2","0.4.1","0.4.1.post1","0.4.1.post2","0.4.1.post3","0.4.1.post4","0.4.1.post5","0.4.1.post6","0.4.1.post7","0.4.10","0.4.10.post1","0.4.10.post2","0.4.2","0.4.2.post1","0.4.2.post2","0.4.2.post3","0.4.2.post4","0.4.3","0.4.3.post1","0.4.3.post2","0.4.3.post3","0.4.3.post4","0.4.4","0.4.4.post1","0.4.4.post2","0.4.4.post3","0.4.4.post4","0.4.5","0.4.5.post1","0.4.5.post2","0.4.5.post3","0.4.6","0.4.6.post1","0.4.6.post2","0.4.6.post3","0.4.6.post4","0.4.6.post5","0.4.7","0.4.7.post1","0.4.8","0.4.8.post1","0.4.9","0.4.9.post1","0.4.9.post2","0.4.9.post3","0.4.9.post4","0.4.9.post5","0.4.9.post6","0.5.0rc0","0.5.0rc1","0.5.0rc2","0.5.1","0.5.1.post1","0.5.1.post2","0.5.1.post3","0.5.10rc0","0.5.2","0.5.2rc0","0.5.2rc1","0.5.2rc2","0.5.3","0.5.3.post1","0.5.3.post2","0.5.3.post3","0.5.3rc0","0.5.3rc2","0.5.4","0.5.4.post1","0.5.4.post2","0.5.4.post3","0.5.5","0.5.5.post1","0.5.5.post2","0.5.5.post3","0.5.6","0.5.6.post1","0.5.6.post2","0.5.7","0.5.8","0.5.8.post1","0.5.9"]}],"products":[{"vendor":"lmsys","product":"sglang"},{"vendor":"sgl-project","product":"sglang"},{"vendor":"sglang","product":"sglang"}],"references":[{"url":"https://github.com/sgl-project/sglang/blob/main/python/sglang/srt/disaggregation/encode_receiver.py","tags":["Product","web"]},{"url":"https://orca.security/resources/blog/sglang-llm-framework-rce-vulnerabilities/","tags":["Exploit","Mitigation","Third Party Advisory","article"]},{"url":"https://github.com/sgl-project/sglang/releases/tag/v0.5.10","tags":["web"]},{"url":"https://github.com/sgl-project/sglang/pull/20904","tags":["fix","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-3060","tags":["advisory"]},{"url":"https://orca.security/resources/blog/sglang-llm-framework-rce-vulnerabilities","tags":["web"]},{"url":"https://github.com/advisories/GHSA-jx93-g359-86wm","tags":["advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/3xxx/CVE-2026-3060.json","tags":["advisory"]},{"url":"https://github.com/sgl-project/sglang","tags":["package"]},{"url":"https://pypi.org/project/sglang","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2026-3060","title":"CVE-2026-3060","description":"SGLang' encoder parallel disaggregation system is vulnerable to unauthenticated remote code execution through the disaggregation module, which deserializes untrusted data using pickle.loads() without authentication.","status":"published","published":"2026-03-12T11:37:37.009Z","modified":"2026-04-07T18:45:35.37Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"adp"}],"cwes":["CWE-502"],"updated_at":"2026-11-02T13:48:58.05327Z"}],"euvd":[{"id":"EUVD-2026-11559","description":"SGLang' encoder parallel disaggregation system is vulnerable to unauthenticated remote code execution through the disaggregation module, which deserializes untrusted data using pickle.loads() without authentication.","status":"published","published":"2026-03-12T11:37:37Z","modified":"2026-04-07T18:45:35Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T19:25:12.431163Z"}],"ghsa":[{"id":"GHSA-jx93-g359-86wm","title":"SGLang's encoder parallel disaggregation system is vulnerable to unauthenticated remote code execution through the disaggregation module","description":"SGLang's encoder parallel disaggregation system is vulnerable to unauthenticated remote code execution through the disaggregation module, which deserializes untrusted data using pickle.loads() without authentication.","status":"published","published":"2026-03-12T12:30:29Z","modified":"2026-04-07T22:14:15Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-502"],"updated_at":"2026-11-02T14:39:51.193071Z"}],"nvd":[{"id":"CVE-2026-3060","description":"SGLang' encoder parallel disaggregation system is vulnerable to unauthenticated remote code execution through the disaggregation module, which deserializes untrusted data using pickle.loads() without authentication.","status":"published","published":"2026-03-12T12:15:59.53Z","modified":"2026-06-17T10:42:58.753Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"secondary"}],"cwes":["CWE-502"],"updated_at":"2026-11-02T14:12:09.358914Z"}],"osv":[{"id":"CVE-2026-3060","title":"CVE-2026-3060","description":"SGLang' encoder parallel disaggregation system is vulnerable to unauthenticated remote code execution through the disaggregation module, which deserializes untrusted data using pickle.loads() without authentication.","status":"published","published":"2026-03-12T11:37:37.009Z","modified":"2026-10-28T02:30:50.291470492Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:45:00.530889Z"},{"id":"GHSA-jx93-g359-86wm","title":"SGLang's encoder parallel disaggregation system is vulnerable to unauthenticated remote code execution through the disaggregation module","description":"SGLang's encoder parallel disaggregation system is vulnerable to unauthenticated remote code execution through the disaggregation module, which deserializes untrusted data using pickle.loads() without authentication.","status":"published","published":"2026-03-12T12:30:29Z","modified":"2026-06-29T12:26:46.288364029Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-502"],"updated_at":"2026-11-02T15:46:51.10002Z"},{"id":"PYSEC-2026-537","title":"SGLang's encoder parallel disaggregation system is vulnerable to unauthenticated remote code execution through the disaggregation module","description":"SGLang's encoder parallel disaggregation system is vulnerable to unauthenticated remote code execution through the disaggregation module, which deserializes untrusted data using pickle.loads() without authentication.","status":"published","published":"2026-06-29T11:50:44.656805Z","modified":"2026-07-13T16:15:33.28053589Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:52:57.671918Z"}]}}
