{"id":"CVE-2026-123974","aliases":["DEBIAN-CVE-2026-123974","EUVD-2026-118480","GHSA-g2fw-m3ph-hqcq","UBUNTU-CVE-2026-123974"],"status":"published","title":"pytorch/serve: Local privilege escalation through insecure temporary path","description":"In all versions of PyTorch's TorchServe, a predictable extraction directory in /tmp lets a local user swap the model handler and run code as the TorchServe service account leading to local privilege escalation.","severity":{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-12","score":0.00145,"percentile":0.03831,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-379"],"published":"2026-11-06T19:52:16Z","modified":"2026-11-10T02:50:22Z","affected":[{"source":"osv","ecosystem":"Debian:12","package":"pytorch","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.13.1+dfsg-4","1.13.1+dfsg-5","2.0.1+dfsg-1","2.0.1+dfsg-1~exp1","2.0.1+dfsg-2","2.0.1+dfsg-4","2.0.1+dfsg-5","2.1.2+dfsg-1","2.1.2+dfsg-2","2.1.2+dfsg-4","2.12.0+dfsg2-1","2.12.0+dfsg2-1~exp1","2.12.0+dfsg2-1~exp2","2.12.0+dfsg2-2","2.12.0+dfsg2-3","2.12.0+dfsg2-4","2.12.1+dfsg-1","2.12.1+dfsg-2","2.14.1+dfsg-1","2.14.1+dfsg-1~exp1","2.4.1-1","2.4.1-3","2.4.1-4","2.5.0+dfsg-1","2.5.1+dfsg-1","2.5.1+dfsg-3","2.5.1+dfsg-4","2.6.0+dfsg-1","2.6.0+dfsg-1~exp1","2.6.0+dfsg-2","2.6.0+dfsg-3","2.6.0+dfsg-4","2.6.0+dfsg-5","2.6.0+dfsg-7","2.6.0+dfsg-8","2.6.0+dfsg-9","2.6.0~rc9+dfsg-1~exp1","2.9.0+dfsg-1~exp1","2.9.0+dfsg-1~exp2","2.9.1+dfsg-1~exp1","2.9.1+dfsg-1~exp2"]},{"source":"osv","ecosystem":"Debian:13","package":"pytorch","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.12.0+dfsg2-1","2.12.0+dfsg2-1~exp1","2.12.0+dfsg2-1~exp2","2.12.0+dfsg2-2","2.12.0+dfsg2-3","2.12.0+dfsg2-4","2.12.1+dfsg-1","2.12.1+dfsg-2","2.14.1+dfsg-1","2.14.1+dfsg-1~exp1","2.6.0+dfsg-7","2.6.0+dfsg-8","2.6.0+dfsg-9","2.9.0+dfsg-1~exp1","2.9.0+dfsg-1~exp2","2.9.1+dfsg-1~exp1","2.9.1+dfsg-1~exp2"]},{"source":"osv","ecosystem":"Debian:14","package":"pytorch","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.12.0+dfsg2-1","2.12.0+dfsg2-1~exp1","2.12.0+dfsg2-1~exp2","2.12.0+dfsg2-2","2.12.0+dfsg2-3","2.12.0+dfsg2-4","2.12.1+dfsg-1","2.12.1+dfsg-2","2.14.1+dfsg-1","2.14.1+dfsg-1~exp1","2.6.0+dfsg-7","2.6.0+dfsg-8","2.6.0+dfsg-9","2.9.0+dfsg-1~exp1","2.9.0+dfsg-1~exp2","2.9.1+dfsg-1~exp1","2.9.1+dfsg-1~exp2"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"pytorch","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.7.1-7","1.8.1-4"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"pytorch","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.9.1+dfsg-1~exp1ubuntu2","2.12.1+dfsg-1"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"pytorch","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.6.0+dfsg-7","2.6.0+dfsg-9","2.9.1+dfsg-1~exp1ubuntu2"]}],"products":[{"vendor":"pytorch","product":"torchserve"}],"references":[{"url":"https://christbowel.com/blog/torchserve-lpe/","tags":["report"]},{"url":"https://github.com/Christbowel/torchserve-lpe","tags":["report"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-123974"},{"url":"https://christbowel.com/blog/torchserve-lpe"},{"url":"https://github.com/advisories/GHSA-g2fw-m3ph-hqcq"},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-123974","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-123974","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-123974","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2026-123974","title":"pytorch/serve: Local privilege escalation through insecure temporary path","description":"In all versions of PyTorch's TorchServe, a predictable extraction directory in /tmp lets a local user swap the model handler and run code as the TorchServe service account leading to local privilege escalation.","status":"published","published":"2026-11-06T19:52:16.058Z","modified":"2026-11-06T20:18:25.863Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"cna"}],"cwes":["CWE-379"],"updated_at":"2026-11-06T21:31:07.264033Z"}],"euvd":[{"id":"EUVD-2026-118480","description":"In all versions of PyTorch's TorchServe, a predictable extraction directory in /tmp lets a local user swap the model handler and run code as the TorchServe service account leading to local privilege escalation.","status":"published","published":"2026-11-06T19:52:16Z","modified":"2026-11-06T20:18:25Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-07T00:07:44.533356Z"}],"ghsa":[{"id":"GHSA-g2fw-m3ph-hqcq","title":"In all versions of PyTorch's TorchServe, a predictable extraction directory in /tmp lets a local...","description":"In all versions of PyTorch's TorchServe, a predictable extraction directory in /tmp lets a local user swap the model handler and run code as the TorchServe service account leading to local privilege escalation.","status":"published","published":"2026-11-06T21:31:29Z","modified":"2026-11-06T21:31:30Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-379"],"updated_at":"2026-11-06T21:34:15.587491Z"}],"nvd":[{"id":"CVE-2026-123974","description":"In all versions of PyTorch's TorchServe, a predictable extraction directory in /tmp lets a local user swap the model handler and run code as the TorchServe service account leading to local privilege escalation.","status":"published","published":"2026-11-06T20:17:20.633Z","modified":"2026-11-12T20:04:52.377Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"secondary"}],"cwes":["CWE-379"],"updated_at":"2026-11-06T22:02:17.053381Z"}],"osv":[{"id":"DEBIAN-CVE-2026-123974","description":"In all versions of PyTorch's TorchServe, a predictable extraction directory in /tmp lets a local user swap the model handler and run code as the TorchServe service account leading to local privilege escalation.","status":"published","published":"2026-11-06T20:17:20.633Z","modified":"2026-11-09T03:00:08.60809884Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-09T03:15:52.404586Z"},{"id":"UBUNTU-CVE-2026-123974","description":"In all versions of PyTorch's TorchServe, a predictable extraction directory in /tmp lets a local user swap the model handler and run code as the TorchServe service account leading to local privilege escalation.","status":"published","published":"2026-11-09T00:00:00Z","modified":"2026-11-10T02:50:22.264066776Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-10T03:18:58.105788Z"}]}}
