
Rapport de recherche de vulnérabilité sur CVE-2017-7921 — un contournement d'authentification critique non authentifié dans les caméras IP/DVRs/NVRs Hikvision, couvrant la cause racine, la voie d'exploitation, la détection et la remédiation.
Authentification incorrecte — Élévation de privilège via un paramètre de requête spécialement conçu
| Identifiant CVE | CVE-2017-7921 |
| Classe de vulnérabilité | CWE-287 : Authentification incorrecte |
| Score de base CVSS v3.0 | 10,0 (Critique) — AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H |
| Score CVSS v2.0 | 7,5 (Élevé) — AV:N/AC:L/Au:N/C:P/I:P/A:P |
| Date de divulgation | 2017 (Avis ICS-CERT ICSA-17-124-01) |
| Fournisseur | Hikvision Digital Technology Co., Ltd. |
| Statut | Corrigé — Hikvision a publié un firmware corrigé ; les appareils non corrigés et du « marché gris » restent exposés |
| Auteur de la preuve de concept / de l’exploit | Jared Brits (K3ysTr0K3R) |
| Auteur de l’analyse | MK-ULTRA (github.com/MK-ULTRA-project-monarch) |
CVE-2017-7921 est une vulnérabilité critique d’authentification incorrecte affectant le composant serveur web du firmware d’une large gamme de caméras réseau, DVR et NVR Hikvision. La faille permet à un attaquant distant non authentifié de contourner entièrement le mécanisme de connexion de l’appareil en ajoutant un paramètre de requête statique et spécialement conçu dans des chemins de requête HTTP spécifiques. Comme le contrôle d’authentification fait confiance à ce paramètre plutôt que de valider une session ou un jeu d’identifiants, toute requête le contenant est traitée comme si elle provenait d’un processus interne privilégié.
Une exploitation réussie accorde un accès administratif complet à l’interface web de l’appareil, y compris les flux vidéo en direct et enregistrés, la configuration de l’appareil, les données des comptes utilisateurs et — sur de nombreuses branches de firmware — la possibilité de télécharger le fichier de configuration complet, qui contient lui-même des identifiants stockés faiblement cryptés. La vulnérabilité ne nécessite aucune interaction de l’utilisateur, aucune authentification préalable et aucune position réseau non standard, ce qui, combiné à l’ampleur de la base installée d’Hikvision, en a fait une cible persistante pour le recrutement de botnets (par exemple, activités de la famille Reaper/IoTroop) et la récolte de flux de surveillance depuis sa divulgation.
La vulnérabilité a été confirmée sur plusieurs familles de produits Hikvision utilisant des branches de firmware antérieures au correctif de sécurité de 2017. Les lignes représentatives affectées incluent :
Hikvision a également souligné une complication persistante spécifique à cette CVE : une large population d’appareils du « marché gris » vendus en dehors des canaux de distribution autorisés exécutent un firmware modifié et non Hikvision. Les mises à jour standard du firmware ne corrigent pas ces unités de manière fiable et, dans certains cas, rétablissent l’interface plutôt que de la corriger.
L’authentification standard des appareils Hikvision repose sur une authentification HTTP Basic/Digest protégeant l’interface de gestion web. Cependant, dans les firmware vulnérables, un sous-ensemble de points de terminaison de gestion des requêtes internes contient un chemin d’authentification secondaire non documenté, destiné à un usage interne/de débogage. Ce chemin n’effectue pas de recherche d’identifiants — il inspecte la requête pour la présence d’un jeton fixe codé en dur et, s’il est trouvé, traite la requête comme pré-authentifiée, contournant ainsi complètement les contrôles d’accès basés sur les rôles (RBAC) normaux.
Le jeton est une représentation encodée en Base64 d’une paire d’identifiants par défaut statiques intégrée dans le firmware lui-même. Comme il s’agit d’une constante plutôt que d’une valeur de session dérivée, elle est identique sur tous les appareils vulnérables, quel que soit le mot de passe administrateur réellement configuré sur cette unité — changer le mot de passe administrateur n’atténue pas la vulnérabilité.
À un niveau élevé, l’exploitation suit cette séquence :
Aucune corruption de mémoire, débordement de tampon ou interaction côté client n’est impliqué ; l’attaque entière est une seule requête HTTP sans état fabriquée, ce qui la rend trivialement scriptable et compatible avec les scanners.
Trois facteurs expliquent la durée de vie exceptionnellement longue de l’exposition réelle de cette CVE :
| Métrique | Impact |
|---|---|
| Confidentialité | Complète — la vidéo en direct/enregistrée, la configuration de l’appareil et les identifiants stockés (faiblement cryptés) sont exposés. |
| Intégrité | Complète — l’attaquant peut modifier la configuration de l’appareil, les comptes utilisateurs et les paramètres de flux. |
| Disponibilité | Complète — l’attaquant peut désactiver l’enregistrement, redémarrer ou perturber le fonctionnement de l’appareil. |
| Portée | Modifiée (CVSS v3) — le compromis de l’appareil permet souvent un pivotement vers le réseau plus large ou un recrutement dans des botnets distribués. |