
Prueba de concepto basada en Docker que demuestra CVE-2025-23320 en el servidor de inferencia NVIDIA Triton, explotando la fuga de claves de memoria compartida para desencadenar una escritura fuera de límites mediante una condición de carrera de desregistro/registro.
Demostración de CVE-2025-23320
Este repositorio replica CVE-2025-23320, demostrando CWE-209, Generación de mensajes de error que contienen información sensible (Puntuación CVSS: 7.5). Esta vulnerabilidad existe en todos los servidores de inferencia NVIDIA Triton 25.06 y anteriores.
Esta configuración de docker ejecuta una red que contiene un servidor de inferencia NVIDIA Triton y un cliente atacante. Este entorno también garantiza que el cliente se ejecute en Linux, por lo que el CVE es replicable en todos los sistemas operativos.
Para compilar/ejecutar
docker compose --build-no-cache
Si es la primera vez que se ejecuta, esto puede tardar un tiempo, ya que extrae la imagen del servidor NVIDIA Triton versión 25.06 de GitHub.
Luego:
docker compose up
POC
El script del cliente atacante se ejecuta automáticamente, generando un mensaje de error con el formato: Failed to increase the shared memory pool size for key 'triton_python_backend_shm_region_8a463f1a-fcd6-4c1b-b4b5-df63f9c512ad' to 54525952 bytes.
Después de obtener esta clave, un atacante puede realizar numerosas acciones. En nuestra implementación de código, el atacante utilizó la API de anulación de registro de Triton. Dado que Triton no verifica quién invoca esta API, la función se ejecutará. Si el atacante posteriormente utiliza la función de registro, activando con éxito una condición de carrera, resultará en una escritura fuera de los límites (OOB).