{"id":"CVE-2026-7304","aliases":["EUVD-2026-30766","GHSA-36m8-w8qf-g76p","PYSEC-2026-535"],"status":"published","title":"CVE-2026-7304","description":"SGLangs multimodal generation runtime is vulnerable to unauthenticated remote code execution when the --enable-custom-logit-processor option is enabled, as Python objects loaded via dill.loads() will be deserialized without validation.","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.00585,"percentile":0.48248,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-502"],"published":"2026-05-18T10:39:52Z","modified":"2026-10-28T02:31:06Z","affected":[{"source":"ghsa","ecosystem":"PyPI","package":"sglang","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.4.1.post7"},{"last_affected":"0.5.12"}]}]},{"source":"osv","ecosystem":"PyPI","package":"sglang","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.4.1.post7"},{"last_affected":"0.5.12"}]}],"versions":["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.10","0.5.10.post1","0.5.10rc0","0.5.11","0.5.12","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.4.1.post7"},{"last_affected":"0.5.12"}]}],"versions":["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.10","0.5.10.post1","0.5.10rc0","0.5.11","0.5.12","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/tree/main/python/sglang","tags":["Product","web"]},{"url":"https://antiproof.ai/blog/three-rces-in-sglang/","tags":["Permissions Required","article"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-7304","tags":["advisory"]},{"url":"https://antiproof.ai/blog/three-rces-in-sglang","tags":["web"]},{"url":"https://github.com/advisories/GHSA-36m8-w8qf-g76p","tags":["advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/7xxx/CVE-2026-7304.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-7304","title":"CVE-2026-7304","description":"SGLangs multimodal generation runtime is vulnerable to unauthenticated remote code execution when the --enable-custom-logit-processor option is enabled, as Python objects loaded via dill.loads() will be deserialized without validation.","status":"published","published":"2026-05-18T10:39:52.696Z","modified":"2026-05-18T14:04:23.864Z","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-02T14:20:06.216584Z"}],"euvd":[{"id":"EUVD-2026-30766","description":"SGLangs multimodal generation runtime is vulnerable to unauthenticated remote code execution when the --enable-custom-logit-processor option is enabled, as Python objects loaded via dill.loads() will be deserialized without validation.","status":"published","published":"2026-05-18T10:39:52Z","modified":"2026-05-18T14:04:23Z","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-02T18:21:16.642345Z"}],"ghsa":[{"id":"GHSA-36m8-w8qf-g76p","title":"SGLang: Unauthenticated RCE via --enable-custom-logit-processor","description":"SGLang's multimodal generation runtime is vulnerable to unauthenticated remote code execution when the --enable-custom-logit-processor option is enabled, as Python objects loaded via dill.loads() will be deserialized without validation.","status":"published","published":"2026-05-18T12:31:47Z","modified":"2026-05-29T17:29:24Z","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:40:14.666177Z"}],"nvd":[{"id":"CVE-2026-7304","description":"SGLangs multimodal generation runtime is vulnerable to unauthenticated remote code execution when the --enable-custom-logit-processor option is enabled, as Python objects loaded via dill.loads() will be deserialized without validation.","status":"published","published":"2026-05-18T12:16:16.713Z","modified":"2026-10-14T20:10:00.19Z","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:19.39893Z"}],"osv":[{"id":"CVE-2026-7304","title":"CVE-2026-7304","description":"SGLangs multimodal generation runtime is vulnerable to unauthenticated remote code execution when the --enable-custom-logit-processor option is enabled, as Python objects loaded via dill.loads() will be deserialized without validation.","status":"published","published":"2026-05-18T10:39:52.696Z","modified":"2026-10-28T02:31:06.74172715Z","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:15.88521Z"},{"id":"GHSA-36m8-w8qf-g76p","title":"SGLang: Unauthenticated RCE via --enable-custom-logit-processor","description":"SGLang's multimodal generation runtime is vulnerable to unauthenticated remote code execution when the --enable-custom-logit-processor option is enabled, as Python objects loaded via dill.loads() will be deserialized without validation.","status":"published","published":"2026-05-18T12:31:47Z","modified":"2026-06-29T12:26:45.976954513Z","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:35.406455Z"},{"id":"PYSEC-2026-535","title":"SGLang: Unauthenticated RCE via --enable-custom-logit-processor","description":"SGLang's multimodal generation runtime is vulnerable to unauthenticated remote code execution when the --enable-custom-logit-processor option is enabled, as Python objects loaded via dill.loads() will be deserialized without validation.","status":"published","published":"2026-06-29T11:50:49.669447Z","modified":"2026-07-01T20:23:04.977005Z","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"}]}}
