
# Proof-of-concept basato su Docker che dimostra la CVE-2025-23320 nel server di inferenza NVIDIA Triton, sfruttando la perdita di chiavi di memoria condivisa per innescare una scrittura fuori dai limiti tramite una condizione di gara tra unregister/register.
Dimostrazione di CVE-2025-23320
Questo repository replica CVE-2025-23320, dimostrando CWE-209, Generazione di messaggi di errore contenenti informazioni sensibili (Punteggio CVSS: 7.5). Questa vulnerabilità esiste su tutti i server di inferenza NVIDIA Triton 25.06 e precedenti.
Questa configurazione docker esegue una rete contenente un server di inferenza NVIDIA Triton e un client attaccante. Questo ambiente garantisce inoltre che il client venga eseguito su Linux, quindi la CVE è replicabile su tutti i sistemi operativi.
Per compilare/eseguire
docker compose --build-no-cache
se è la prima volta che viene eseguito, potrebbe richiedere del tempo, poiché scarica l'immagine del server NVIDIA Triton versione 25.06 da GitHub
Poi:
docker compose up
POC
Lo script del client attaccante viene eseguito automaticamente, generando un messaggio di errore nella forma: Failed to increase the shared memory pool size for key 'triton_python_backend_shm_region_8a463f1a-fcd6-4c1b-b4b5-df63f9c512ad' to 54525952 bytes.
Dopo aver ottenuto questa chiave, un attaccante può eseguire numerose azioni. Nella nostra implementazione del codice, l'attaccante ha utilizzato l'API di annullamento della registrazione di Triton. Poiché Triton non verifica chi invoca questa API, la funzione verrà eseguita. Se successivamente l'attaccante utilizza la funzione di registrazione, attivando con successo una condizione di competizione, ciò comporterà una scrittura fuori dai limiti (OOB).