CVE-2025-61765
python-socketio vulnerabile a esecuzione arbitraria di codice Python (RCE) tramite deserializzazione pickle dannosa in determinate implementazioni multi-server
- Pubblicato
- 6 ott 2025
- Aggiornato
- 22 ott 2025
- Assegnazione CNA
- GitHub_M
- Evidenza osservata
- 8 ago 2026
CVSS primario
nvd · CVSS 3.1
CVSS:3.1/AV:A/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:LBasso · prossimi 30 giorni
- Percentile
- 40,6%
- Data del modello
- 21 set 2026
L'EPSS è una stima statistica, non una certezza o una misura di impatto. Combinalo con CVSS, stato KEV, esposizione e ambiente.
Riepilogo
python-socketio è un'implementazione Python del client e server realtime Socket.IO. Una vulnerabilità di esecuzione remota di codice nelle versioni di python-socketio precedenti alla 5.14.0 consente agli attaccanti di eseguire codice Python arbitrario tramite una deserializzazione pickle dannosa in distribuzioni multi-server in cui l'attaccante ha precedentemente ottenuto accesso alla coda di messaggi che i server utilizzano per le comunicazioni interne. Quando i server Socket.IO sono configurati per utilizzare un backend a coda di messaggi come Redis per la comunicazione tra server, i messaggi inviati tra i server vengono codificati utilizzando il modulo Python `pickle`. Quando un server riceve uno di questi messaggi tramite la coda di messaggi, lo considera attendibile e lo deserializza immediatamente. La vulnerabilità deriva dalla deserializzazione dei messaggi tramite la funzione `pickle.loads()` di Python. Avendo precedentemente ottenuto accesso alla coda di messaggi, l'attaccante può inviare a un server python-socketio un payload pickle appositamente costruito che esegue codice arbitrario durante la deserializzazione tramite il metodo `__reduce__` di Python. Questa vulnerabilità riguarda solo distribuzioni con una coda di messaggi compromessa. L'attacco può portare l'attaccante a eseguire codice arbitrario nel contesto e con i privilegi del processo del server Socket.IO. I sistemi a server singolo che non utilizzano una coda di messaggi e i sistemi multi-server con una coda di messaggi sicura non sono vulnerabili. Oltre a garantire che vengano seguite le pratiche di sicurezza standard nella distribuzione della coda di messaggi, gli utenti del pacchetto python-socketio possono aggiornare alla versione 5.14.0 o successiva, che rimuove il modulo `pickle` e utilizza la codifica JSON molto più sicura per la messaggistica tra server.
Fonti
1Utilizzo responsabile
Utilizza le informazioni sulla vulnerabilità solo sui sistemi che possiedi o che sei autorizzato a testare. Kitploit si collega ai metadati della ricerca pubblica e non memorizza codici exploit o payload dannosi.