pytorch/serve: Local privilege escalation through insecure temporary path
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| PyTorch | TorchServe | unknown |
|
No data.
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Pytorch | Torchserve |
|
Vendor Solution
The project is archived and currently no permanent solution is scheduled for release. See workaround section.
Vendor Workaround
Three independent fixes: * Set TEMP (or pass -Djava.io.tmpdir) to a directory the service account owns and that is not world-writable. * Harden the systemd unit with PrivateTmp=yes, so /tmp is namespaced per service. * At the code level, extract into a directory owned by the service account and refuse to reuse a pre-existing extraction root that the service does not own, instead of forceMkdir-ing into whatever is already there.
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.145% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Pytorch
Pytorch torchserve |
|
| Vendors & Products |
Pytorch
Pytorch torchserve |
| Type | Values Removed | Values Added |
|---|---|---|
| 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. | |
| Title | pytorch/serve: Local privilege escalation through insecure temporary path | |
| Weaknesses | CWE-379 | |
| References |
| |
| Metrics |
cvssV3_1
|