
PoC para CVE-2023-22432 (web2py)
Una vulnerabilidad (CVE-2023-22432) en web2py fue divulgada el 31 de enero de 2023 (hora de EE. UU.). Este artículo describe nuestra discusión sobre esta vulnerabilidad y los resultados de nuestra verificación.
Esta vulnerabilidad es una vulnerabilidad de redirección abierta en web2py que permite especificar una URL arbitraria como URL de destino de devolución de llamada en la URL de la página de administración. Originalmente se implementaron contramedidas contra redirecciones abiertas, pero esta vulnerabilidad se reproduce aplicando un método de evasión especial a la URL. Esto puede llevarte a sitios maliciosos.
En 2022 se descubrió una vulnerabilidad de redirección abierta (CVE-2022-33146) en web2py, y nos preguntamos si había otras vulnerabilidades como CVE-2022-33146, así que revisamos el código fuente de web2py y encontramos la forma de evadir la prevención de redirecciones abiertas. Takuto Yoshikai (el autor) de Aeye Security Lab informó de ello al IPA y al equipo de desarrollo de web2py.
Ejecute build.sh en este repositorio. Entonces web2py se iniciará.
bash build.sh
Acceda a http://localhost:8000/admin/default/index/?send=//example.com
Introduzca la contraseña "password123" y haga clic en Login.
No redirigió a example.com, por lo que la prevención de redirecciones abiertas funcionó correctamente.
Acceda a http://localhost:8000/admin/default/index/?send=\/\/example.com
El payload es \/\/example.com.
Introduzca la contraseña "password123" y haga clic en Login.
Redirigió a example.com, por lo que la prevención de redirecciones abiertas no funcionó correctamente.
Tras la revisión y verificación, hemos confirmado que es posible dirigir al administrador a un sitio web malicioso manipulando la URL de la página de administración. Recomendamos actualizar el sistema lo antes posible.