
Rapport technique et PoC reverse-shell authentifié pour CVE-2026-96515, une faille d'exécution de commandes en tant que root dans le gestionnaire d'import de diagnostic BOA du routeur Netlink HG323RW.
Un utilisateur web limité authentifié peut téléverser un script shell via le gestionnaire d'import de diagnostic du Netlink HG323RW et faire exécuter ce script par le processus BOA en UID 0. Une authentification et des valeurs de vérification/CSRF valides sont requises ; ce dépôt ne revendique pas d'exécution de code avant authentification.
| Champ | Valeur |
|---|---|
| CVE | CVE-2026-96515 |
| Produit | Routeur Netlink ICT HG323RW |
| Matériel affecté | V3.7 |
| Micrologiciel affecté | 3.1.02-260228 (Netlinkver) |
| Composant | bin/boa |
| Point de terminaison | /boaform/formImportOMCIShell |
| Accès requis | Compte web limité authentifié sur le réseau adjacent/privé |
| Impact démontré | Le contenu shell téléversé s'exécute en UID 0 |
| CWE | CWE-862 (Autorisation manquante), CWE-434 (Téléversement sans restriction de fichier de type dangereux) |
| CVSS | 8.6 Élevé — CVSS:4.0/AV:A/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N |
| Micrologiciel corrigé | 3.1.02-260904 (signalé par CERT-In et inspecté indépendamment ; la vérification à l'exécution a confirmé que /boaform/formImportOMCIShell et /boaform/admin/formImportOMCIShell renvoient tous deux HTTP 404) |
| Rapporteur | Muhammed Safvan |
CERT-In a publié la fiche le 24 septembre 2026 sous l'avis CIVN-2026-0473. Netlink liste les téléchargements de micrologiciels sur sa page de micrologiciels.
Le compte limité par défaut d'usine est provisionné dans /etc/config_default.xml, et BOA crée /var/boaUser.passwd à partir des valeurs MIB configurées au démarrage. Après authentification en tant qu'utilisateur limité, une requête peut soumettre un champ multipart nommé binary à formImportOMCIShell. Les preuves issues du bin/boa évalué identifient la destination /tmp/omcishell et le point d'exécution /bin/sh /tmp/omcishell.
La transcription fournie d'un appareil autorisé enregistre un shell avec des UID/GID réels, effectifs, sauvegardés et de système de fichiers tous nuls. Le code source C exact et l'historique des versions n'étaient pas disponibles, de sorte que les affirmations sur les versions affectées sont intentionnellement limitées à l'image évaluée. L'archive évaluée et l'archive corrigée listée par le CNA sont toutes deux conservées sous firmware/ ; leur structure, les versions intégrées et les sommes de contrôle ont été vérifiées, mais la régression de l'exploit n'a pas été réexécutée lors de cette étape de conditionnement.
Lisez REPORT.md pour l'analyse complète, les prérequis, les limites des preuves et les recommandations de remédiation.
REPORT.md — rapport technique autonome.poc/ — PoC de reverse shell authentifié sur LAN privé et notes d'utilisation.analysis/ — notes d'analyse statique assainies sur le provisionnement des comptes, le routage et le comportement des rôles.binary/ — identification ciblée de BOA, chaînes et preuves de hachage extraites de l'image évaluée.firmware/ — archives complètes des micrologiciels vulnérable et corrigé du fournisseur, hachages et avertissements de mise à niveau.runtime/ — métadonnées de micrologiciel assainies et provenance des preuves d'exécution fournies.hashes/ — empreintes des artefacts sources et résultats de vérification.MANIFEST-SHA256.txt — empreinte de tous les autres fichiers suivis du dépôt.Les deux archives complètes de micrologiciels sont distribuées sans arborescences de travail extraites. Aucune session active, jeton CSRF, identifiant d'appareil, donnée client, mot de passe encodé exporté séparément ou identifiant non public n'est inclus. La paire d'identifiants par défaut d'usine est discutée car elle est déterminante pour la configuration affectée. La redistribution et l'utilisation du micrologiciel restent soumises aux conditions du fournisseur.
Le PoC public téléverse une charge utile de reverse shell fixe basée sur FIFO et fournit un écouteur interactif, de sorte que les commandes saisies après la connexion s'exécutent sur le routeur. Il refuse les adresses cibles et de rappel publiques, demande le mot de passe par défaut et exige une confirmation explicite EXECUTE sauf si l'opérateur fournit la dérogation d'automatisation documentée. Il a été vérifié syntaxiquement mais n'a pas été exécuté lors de cette mise à jour du dépôt. Utilisez-le uniquement sur un appareil que vous possédez ou que vous êtes explicitement autorisé à tester.
Une vidéo de démonstration fournie par le propriétaire a été conservée en dehors de ce dépôt public car elle affiche un chemin local et un contexte de bureau spécifiques à la machine de l'auteur. Le dépôt inclut désormais le code source du PoC de reverse shell correspondant ; le hachage de l'enregistrement et un résumé d'observation prudent sont conservés dans runtime/video-observation.txt.