
Prueba de concepto para CVE-2026-23009 que demuestra la inyección no autenticada de imágenes DICOM en servidores PACS vulnerables mediante pynetdicom, con un SCP C-STORE simulado y un script de explotación.
# dicom_server_sim.py - DICOM C-STORE SCP with no AE title check
from pynetdicom import AE, evt, AllStoragePresentationContexts
def handle_store(event):
ds = event.dataset
# No authentication, accepts any image from any remote
ds.save_as(f"/tmp/{ds.SOPInstanceUID}.dcm")
return 0x0000
handlers = [(evt.EVT_C_STORE, handle_store)]
ae = AE()
ae.supported_contexts = AllStoragePresentationContexts
ae.start_server(('', 11112), evt_handlers=handlers)
Un servidor de imágenes médicas (PACS) acepta imágenes DICOM de cualquier host remoto sin autenticación. Un atacante en la red del hospital puede inyectar imágenes fabricadas que contengan datos de píxeles maliciosos o información de pacientes, lo que puede provocar diagnósticos erróneos o el compromiso de sistemas posteriores.
pip install pynetdicom
python dicom_server_sim.py
python exploit_dicom_inject.py
El archivo aparece en /tmp.