
PoC multilingue (Python · Go · JS · C) et documentation technique pour CVE-2025-63353, une vulnérabilité critique de PSK prévisible par défaut dans les appareils FiberHome HG6145F1 GPON ONT.
Kit de recherche éducatif et PoC multilingue pour CVE-2025-63353, une vulnérabilité critique de clé PSK par défaut prévisible affectant les appareils GPON ONT FiberHome HG6145F1 RP4423.
La clé pré-partagée Wi-Fi par défaut d'usine sur les appareils FiberHome HG6145F1 concernés est une fonction déterministe du SSID diffusé. Un attaquant observant une trame de balise d'un appareil vulnérable peut dériver la clé WPA2 PSK en temps constant, sans avoir besoin de capturer une poignée de main, de dictionnaire, de GPU, ni d'interaction client.
Pour un appareil diffusant le SSID fh_<hex_a>, la clé PSK par défaut est :
PSK = "wlan" + hex(0xFFFFFF XOR hex_a)
Exemple : fh_a1f9d1 → wlan5e062e
L'espace de clés effectif par appareil est de 1. L'espace de clés à l'échelle de la population sur l'ensemble des déploiements HG6145F1 est d'au plus 2²⁴ ≈ 16,7 millions de paires (SSID, PSK) et puisque le SSID est diffusé, la correspondance SSID-vers-PSK est biunivoque.
Ce travail est entièrement basé sur la recherche et la divulgation originale de la vulnérabilité par Hani Anis Bouzid :
Tout le crédit pour la découverte de la vulnérabilité et la divulgation publique initiale revient à Hani Anis Bouzid. Ce dépôt étend la divulgation originale avec des implémentations PoC multilingues et un ensemble de documentation technique organisée.
.
├── README.md
├── LICENSE
├── docs/
│ ├── vulnerability.md Technical analysis of the algorithm
│ ├── timeline.md Disclosure chronology and vendor response
│ ├── affected-deployments.md Device specifications and known deployments
│ ├── related-research.md Lineage of predictable-PSK vulnerabilities
│ ├── references.md Curated bibliography
│ └── mitigation.md Guidance for users, ISPs, and vendors
└── poc/
├── python/ pure-Python implementation, no dependencies
├── go/ standalone Go binary
├── javascript/ browser-friendly JS / Node.js
└── c/ portable single-file ANSI C (compiles anywhere)
# Python
python3 poc/python/fh-poc.py fh_a1f9d1
# wlan5e062e
# Go
cd poc/go && go run fh-poc.go fh_a1f9d1
# wlan5e062e
# JavaScript (Node)
node poc/javascript/fh-poc.js fh_a1f9d1
# wlan5e062e
# C
cc poc/c/fh-poc.c -o fh-poc && ./fh-poc fh_a1f9d1
# wlan5e062e
Les quatre implémentations sont écrites indépendamment, sans dépendances, et produisent une sortie identique. Utilisez celle qui correspond à votre environnement.
| Champ | Valeur |
|---|---|
| Fabricant | FiberHome (Wuhan FiberHome International Technologies) |
| Modèle | HG6145F1 |
| Micrologiciel | RP4423 |
| Type d'appareil | GPON ONT, Wi-Fi 6 (802.11ax), double bande 2,4/5 GHz |
| Normes | ITU-T G.984 Class B+, IEEE 802.11 a/b/g/n/ac/ax |
La vulnérabilité n'est actuellement divulguée que pour le micrologiciel HG6145F1 RP4423. La vérification sur l'ensemble de la famille de modèles HG6145 / HG6243 / HG6821 est une question de recherche ouverte. Voir docs/affected-deployments.md.
Pour les utilisateurs finaux d'un HG6145F1 :
Voir docs/mitigation.md pour des conseils spécifiques aux FAI et aux fournisseurs.
Ce dépôt est publié uniquement à des fins de recherche éducative et de sécurité défensive. La vulnérabilité documentée ici est divulguée publiquement sous CVE-2025-63353 et a reçu une note de gravité critique par CISA-ADP.
L'utilisation du code de ce dépôt contre des réseaux dont vous n'êtes pas propriétaire ou pour lesquels vous n'avez pas d'autorisation écrite explicite de tester est illégale dans la plupart des juridictions, y compris en vertu de la loi marocaine 07-03 sur la cybercriminalité, des cadres européens d'abus informatiques, du Computer Fraud and Abuse Act américain, et de la législation équivalente ailleurs. Les auteurs n'assument aucune responsabilité pour l'utilisation non autorisée de ce matériel.
Une bibliographie complète des sources primaires, des vulnérabilités connexes et de la littérature académique est maintenue dans docs/references.md.
Les résultats de tests vérifiés sur d'autres modèles FiberHome, versions de micrologiciel ou variantes personnalisées par les FAI sont les bienvenus via une pull request vers docs/affected-deployments.md. Veuillez inclure la version du micrologiciel, le préfixe SSID de l'étiquette de l'appareil et la méthode de vérification.
Ayman Wadi — Ingénieur en sécurité