Podatność w narzędziu mmaitre314 Picklescan (do wersji 0.0.30 włącznie) pozwala zdalnemu atakującemu na ominięcie weryfikacji niebezpiecznych modułów i przemycenie złośliwego kodu w pliku pickle. Zagrożenie jest krytyczne, ponieważ Picklescan służy właśnie jako mechanizm ochrony przed złośliwymi plikami pickle — jego obejście całkowicie znosi tę warstwę zabezpieczeń.
▸ Pokaż oryginał (EN)
A Protection Mechanism Failure vulnerability in mmaitre314 picklescan versions up to and including 0.0.30 allows a remote attacker to bypass the unsafe globals check. This is possible because the scanner performs an exact match for module names, allowing malicious payloads to be loaded via submodules of dangerous packages (e.g., 'asyncio.unix_events' instead of 'asyncio'). When the incorrectly considered safe file is loaded after scan, it can lead to the execution of malicious code.
Skaner Picklescan weryfikuje nazwy modułów metodą dokładnego dopasowania (exact match), przez co rozpoznaje jedynie pełne nazwy znanych niebezpiecznych pakietów (np. 'asyncio'). Atakujący może użyć submodułu tego pakietu (np. 'asyncio.unix_events') w złośliwym pliku pickle — taka nazwa nie jest oznaczana jako niebezpieczna i plik przechodzi skan jako bezpieczny. Gdy ofiara następnie załaduje taki, błędnie uznany za bezpieczny, plik pickle do środowiska Python, zawarty w nim złośliwy payload zostaje wykonany.
Atakujący może doprowadzić do wykonania dowolnego kodu (RCE) na maszynie ofiary, która załaduje spreparowany plik pickle po jego pozytywnym przejściu przez skan Picklescan. Skutkiem może być pełne przejęcie kontroli nad systemem, kradzież danych lub dalsze działania w sieci.
Należy zastosować patche dostępne u producenta zgodnie z referencjami (advisory GHSA-f7qq-56ww-84cr w repozytorium GitHub mmaitre314/picklescan). Do czasu aktualizacji należy traktować wszystkie wyniki skanowania Picklescan jako potencjalnie niepewne i unikać ładowania plików pickle z niezaufanych źródeł.
mmaitre314 Picklescan w wersjach do 0.0.30 włącznie
W referencjach opisu dostępny jest przykładowy złośliwy plik pickle demonstracyjny (asyncio_asyncio_unix_events___UnixSubprocessTransport__start.pkl) hostowany na platformie Hugging Face, co potwierdza praktyczną wykonalność ataku.
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XMmaitre314 Picklescan
APPMmaitre314< 0.0.31
Powiązane podatności
Picklescan: Ominięcie skanowania bezpieczeństwa przez błędny CRC w archiwum ZIP
Obejście skanowania plików pickle przez nieprawidłową walidację rozszerzeń PyTorch
picklescan before 0.0.30 fails to detect malicious pickle files using idlelib.pyshell.ModifiedInterpreter.runc...
picklescan before 0.0.28 fails to detect malicious pickle files that invoke torch.utils._config_module.load_co...
picklescan before 0.0.30 fails to detect cProfile.runctx function calls in pickle file reduce methods, allowin...