CRITICAL🇬🇧 English

CVE-2024-35198

TorchServe: Obejście filtra allowed_urls przez path traversal

CVSS 9.8v3.1pub. 2024-07-19upd. 2025-09-04

Podatność w TorchServe pozwala atakującemu ominąć mechanizm kontroli dozwolonych adresów URL (allowed_urls) poprzez użycie znaków takich jak ".." w adresie URL. Jest to groźne, ponieważ umożliwia pobranie i załadowanie nieautoryzowanych modeli do środowiska produkcyjnego bez żadnych uprawnień.

Pokaż oryginał (EN)

TorchServe is a flexible and easy-to-use tool for serving and scaling PyTorch models in production. TorchServe 's check on allowed_urls configuration can be by-passed if the URL contains characters such as ".." but it does not prevent the model from being downloaded into the model store. Once a file is downloaded, it can be referenced without providing a URL the second time, which effectively bypasses the allowed_urls security check. Customers using PyTorch inference Deep Learning Containers (DLC) through Amazon SageMaker and EKS are not affected. This issue in TorchServe has been fixed by validating the URL without characters such as ".." before downloading see PR #3082. TorchServe release 0.11.0 includes the fix to address this vulnerability. Users are advised to upgrade. There are no known workarounds for this vulnerability.

🤖 Analiza AI
Jak działa

TorchServe weryfikuje, czy podany URL należy do listy allowed_urls, jednak nie blokuje adresów zawierających znaki path traversal, takie jak "..". Atakujący może przesłać spreparowany URL z takimi znakami, co pozwala pobrać plik do magazynu modeli (model store) z pominięciem weryfikacji. Po pobraniu pliku można się do niego odwołać ponownie bez podawania pełnego URL-a, co skutecznie omija mechanizm bezpieczeństwa przy kolejnych odwołaniach. Błąd sklasyfikowany jest jako CWE-706, czyli użycie niepoprawnie rozwiązanej nazwy lub referencji.

Skutki

Atakujący bez żadnego uwierzytelnienia może załadować dowolny, nieautoryzowany model do środowiska produkcyjnego, co może prowadzić do naruszenia poufności danych, integralności systemu oraz jego dostępności — w tym potencjalnie do wykonania złośliwego kodu w kontekście serwera wnioskowania.

Mitygacja

Należy zaktualizować TorchServe do wersji 0.11.0 lub nowszej, która zawiera poprawkę walidującą URL pod kątem niedozwolonych znaków (m.in. "..") przed pobraniem pliku (PR #3082). Brak znanych obejść — aktualizacja jest jedynym zalecanym środkiem zaradczym.

Kogo dotyczy

PyTorch TorchServe we wszystkich wersjach poprzedzających 0.11.0. Użytkownicy korzystający z PyTorch inference Deep Learning Containers (DLC) przez Amazon SageMaker i EKS nie są podatni.

Uwagi

Poprawka została wprowadzona w pull requeście #3082 w repozytorium pytorch/serve. Użytkownicy środowisk Amazon SageMaker i EKS korzystający z DLC są wyłączeni z grupy podatnych.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Pytorch Torchserve

    APP
    Pytorch
    0.4.2 – 0.11.0 (bez)
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
Container
CWE
Referencje

Powiązane podatności

CVE-2023-43654CRITICAL10.0ten sam produkt

TorchServe is a tool for serving and scaling PyTorch models in production. TorchServe default configuration la...

CVE-2024-35199HIGH8.2ten sam produkt

TorchServe is a flexible and easy-to-use tool for serving and scaling PyTorch models in production. In affecte...

CVE-2023-48299MEDIUM5.3ten sam produkt

TorchServe is a tool for serving and scaling PyTorch models in production. Starting in version 0.1.0 and prior...