CVE-2026-68772
WysokieCVSS 8.0Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 33 - wyżej niż 33% wszystkich znanych CVE
Streszczenie
ZenML 0.94.6 zawiera podatność zdalnego wykonania kodu w komponencie CloudpickleMaterializer, która pozwala atakującym z prawem zapisu do współdzielonego magazynu artefaktów na wykonanie dowolnego kodu poprzez podłożenie złośliwego pliku pickle. Atakujący może podmienić plik artifact.pkl na spreparowany ładunek cloudpickle z złośliwą metodą __reduce__, która wykonuje dowolne polecenia systemowe podczas materializacji artefaktu.
Ocena ryzyka
Atakujący z dostępem do magazynu artefaktów może wykonać dowolny kod na serwerze, co może prowadzić do pełnej kompromitacji systemu.
Rekomendacja
Zaktualizuj ZenML do najnowszej wersji, która naprawia tę podatność, oraz ogranicz dostęp do magazynu artefaktów.
Inne podatności w ZenML
Zobacz wszystkie- CVE-2026-11922Średnie
ZenML w wersjach 0.57.0 do 0.94.2 ma podatność polegającą na możliwości ominięcia ogranicznika szybkości (rate-limiting) na endpointach logowania i zmiany hasła poprzez rotację nagłówka X-Forwarded-For. Ogranicznik kluczuje żądania po request.client.host, który pochodzi z tego nagłówka.
- CVE-2026-11876Średnie
Podatność w zenml-io/zenml w wersji 0.94.2. Endpoint `GET /api/v1/stack-deployment/stack` nie sprawdza poprawnie RBAC, umożliwiając każdemu uwierzytelnionemu użytkownikowi wyliczenie wszystkich wdrożonych stacków (w tym szczegółów komponentów, informacji o łącznikach usług i ID właścicieli) we wszystkich tenantach.
Oryginalny opis (angielski, źródło NVD)
ZenML 0.94.6 contains a remote code execution vulnerability in the CloudpickleMaterializer component that allows attackers with write access to a shared artifact store to execute arbitrary code by planting a malicious pickle file. Attackers can replace a stored artifact.pkl file with a crafted cloudpickle payload containing a malicious __reduce__ method, which executes arbitrary system commands when any user or pipeline materializes the artifact through the unsanitized cloudpickle.load() call in cloudpickle_materializer.py.

