Risque
- Exécution de code arbitraire à distance
Systèmes affectés
- Cisco IOS et IOS XE utilisant la fonctionnalité Smart Install
Résumé
Le 28 mars 2018, Cisco a publié une mise à jour de sécurité pour ses
logiciels IOS et IOS XE bénéficiant de la fonctionnalité Smart
Install. Ce correctif concerne une faille de sécurité pouvant conduire
à une exécution de code arbitraire à distance sur un équipement mettant
en œuvre un client Smart Install.
Le 5 avril 2018, le blogue de Cisco Talos alerte sur la forte
probabilité d'exploitation de cette vulnérabilité au regard de
l'existence d'une preuve de concept et d'une recrudescence anormale du
traffic internet vers les services Smart Install.
Cette technologie a été développée afin de permettre le déploiement et la configuration automatique d'un commutateur selon un principe "prêt à l'emploi" (plug and play). Lors de la mise en service d'un appareil, ce dernier pourra ainsi récupérer sa configuration auprès d'un directeur Smart Install. Le rôle de directeur est tenu par un équipement réseau de niveau 3 qui délivre une image et une configuration à déployer aux différents produits exécutant le client Smart Install et venant l'interroger.
La vulnérabilité corrigée par Cisco, identifiée en tant que CVE-2018-0171, touche la partie cliente de Smart Install. Un commutateur configuré pour utiliser Smart Install démarre un serveur en écoute sur le port 4786 en TCP. Un paquet de type ibd_init_discovery_msg spécifiquement forgé et transmis au client peut alors causer un dépassement de tampon sur la pile et conduire à la compromission de l'équipement.
Le CERT-FR recommande la mise en œuvre des actions suivantes afin de détecter tout appareil vulnérable présent au sein du réseau.
- Vérifier dans le réseau si des ports TCP 4786 sont actifs. Cela peut être réalisé à l'aide d'un outil de scan de type Nmap.
- Contrôler l'état des interfaces réseau au niveau d'un équipement en utilisant la commande show tcp brief all et identifier si le port 4786 est en écoute.
- Vérifier si la fonctionnalité Smart Install est active avec le rôle de client en exécutant la commande show vstack config.
- Identifier si la version du logiciel IOS exécutée par l'équipement est vulnérable avec la commande show version. Se référer au bulletin de sécurité de l'éditeur pour obtenir une liste des versions concernées par la vulnérabilité
- Un script mis à disposition par Cisco permet également de scanner un appareil pour identifier s'il est vulnérable (cf. section Documentation).
Solution
Le CERT-FR recommande l'installation de la mise à jour fournie par Cisco dans les plus brefs délais.
Se référer au bulletin de sécurité de l'éditeur pour l'obtention des correctifs (cf. section Documentation).
Documentation
- Bulletin de sécurité Cisco du 28 mars 2018 https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20180328-smi2
- Avis CERT-FR CERTFR-2018-AVI-156 Multiples vulnérabilités dans les produits Cisco http://www.cert.ssi.gouv.fr/avis/CERTFR-2018-AVI-156
- Bulletin de sécurité Cisco d'information cisco-sa-20180409-smi du 9 avril 2018 sur la sécurisation de Smart Install https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20180409-smi
- Documentation Cisco sur la fonctionnalité Smart Install https://www.cisco.com/c/en/us/td/docs/switches/lan/smart_install/configuration/guide/smart_install/concepts.html
- Outil permettant de vérifier si un équipement est vulnérable à la CVE-2018-0171 https://github.com/Cisco-Talos/smi_check
- Publication de blogue Cisco Talos du 27 février 2018 relatif à Smart Install Client http://blog.talosintelligence.com/2017/02/cisco-coverage-for-smart-install-client.html
- Publication de blogue Cisco du 27 février 2018 relatif à Smart Install Client https://blogs.cisco.com/security/cisco-psirt-mitigating-and-detecting-potential-abuse-of-cisco-smart-install-feature
- Publication de blogue Embedi du 29 mars 2018 détaillant les principes de la vulnérabilité CVE-2018-0171 https://embedi.com/blog/cisco-smart-install-remote-code-execution/
- Référence CVE CVE-2018-0171 https://www.cve.org/CVERecord?id=CVE-2018-0171