Multiples vulnérabilités dans Wind River VxWorks

VxWorks est un système d’exploitation temps réel (real-time operating system, RTOS) pour systèmes embarqués développé par la société Wind River. Ce système est rarement utilisé de manière indépendante, il est plutôt utilisé par un composant d’un produit, d’un boitier unitaire à un système composé de plusieurs briques. VxWorks est utilisé dans de nombreux secteurs, tels que l’aéronautique, l’automobile, la santé ou encore les télécommunications.

Le 29 juillet 2019, la société Wind River a publié des correctifs pour onze vulnérabilités affectant VxWorks [1][2]. Cependant, ces correctifs ne peuvent pas être appliqués directement par les utilisateurs. Les constructeurs qui intègrent VxWorks dans leurs produits doivent d’abord les adapter à ceux-ci avant de les rendre disponibles à leurs clients. Par exemple, deux constructeurs industriels européens ont déjà publié des correctifs sur leurs produits respectifs [4][5].

Ces vulnérabilités ont été découvertes par des chercheurs d’Armis, qui ont publié leurs travaux le même jour [3]. Ces chercheurs présenteront trois scénarios d’attaque lors de la conférence Black Hat USA qui aura lieu à Las Vegas du 7 au 9 aout 2019. Les matériels attaqués lors de cette démonstration seront un pare-feu, une imprimante et un moniteur médical.

Ces vulnérabilités affectent différentes couches d’IPNet, la pile TCP/IP de VxWorks, ainsi que le client DHCP.  Six d’entre elles sont considérées comme critiques, car elles peuvent provoquer une exécution de code arbitraire à distance. Quatre vulnérabilités permettent un déni de service et la dernière entraine une fuite d’information.

Les six vulnérabilités les plus critiques sont présentées ci-après.

CVE-2019-12256

Cette vulnérabilité affecte la pile IP de VxWorks et affecte les versions 6.9.3 et ultérieures. Elle a été corrigée dans la version Vx7 SR620.

Comme elle se situe au niveau IP, elle est particulièrement dangereuse car elle ne nécessite ni un port en écoute pour être exploitée, ni authentification. Il est donc urgent d’appliquer le correctif si celui-ci est disponible. Comme le paquet IP exploitant la vulnérabilité doit contenir des options invalides, celui-ci ne peut passer les pare-feux correctement configurés ou, selon les chercheurs [3], de simples routeurs. Toujours selon les chercheurs, l’attaquant doit se trouver sur le même réseau que la cible. Lorsqu’aucun correctif n’est disponible, on peut donc protéger une machine de cette vulnérabilité en la plaçant derrière un pare-feu qui filtre tous les paquets contenant des options de routage par la source : Strict Source and Record Route (SSRR) ou Loose Source and Record Route (LSRR).

Ces options étant peu utilisées, le risque de rejeter par un filtrage du trafic légitime est faible. Il n’est cependant pas inexistant et doit donc être évalué en fonction de la situation de chaque réseau.

Armis à mis à disposition des signatures SNORT permettant de détecter les tentatives d’exploitation de cette vulnérabilité [3].

CVE-2019-12255, CVE-2019-12260, CVE-2019-12261 et CVE-2019-12263

Les versions vulnérables de VxWorks vont de 6.5 à 6.9.4.4. La version Vx7 SR620 corrige ces vulnérabilités.

Ces vulnérabilités affectent l’implémentation du protocole TCP d’IPNet, plus particulièrement celle liée à l’Urgent Pointer. Les vulnérabilités CVE-2019-12255 et CVE-2019-12260 sont exploitables côté serveur, ce qui les rend plus critiques. Les vulnérabilités CVE-2019-12261 et CVE-2019-12263 sont exploitables côté client, cela force donc l’attaquant à faire en sorte qu’une machine victime se connecte à un serveur qu’il contrôle. S’il est en position de l’intercepteur actif (MiTM), il peut également modifier les datagrammes à la volée à condition que ceux-ci ne soient pas chiffrés. Cependant comme les vulnérabilités se trouvent au niveau des entêtes TCP, le chiffrement TLS ne protège pas de cette vulnérabilité dans un scénario d’interception active.

La solution définitive est d’appliquer les correctifs de sécurité. Un contournement provisoire consiste à filtrer le trafic potentiellement malveillant en bloquant tous les datagrammes qui contiennent l’option URG.

Là encore, cette option est rarement utilisée. Il est encore possible de la voir, notamment dans le cadre de communications Telnet, qui sont encore employées bien qu’elles ne soit pas considérées comme sécurisées. Les chercheurs d’Armis recommandent de bloquer les datagrammes qui contiennent les drapeaux SYN, URG et FIN, car ceux-ci ne seront jamais tous présents en même temps dans une communication légitime.

Armis à mis à disposition des signatures SNORT permettant de détecter les tentatives d’exploitation de ces vulnérabilités [3].

CVE-2019-12257

Cette vulnérabilité affecte le client DHCP des versions de VxWorks entre 6.6 et 6.9.3. Elle a été corrigée dans la version Vx7 SR620.

Cette vulnérabilité permet aussi une exécution de code arbitraire à distance sans authentification et sans action de la part de l’utilisateur. L’exploitation de cette vulnérabilité requiert également que l’attaquant soit déjà présent sur le réseau local.

Conclusion

Wind River annonce qu’ils n’ont pour le moment pas constaté l’exploitation de ces vulnérabilités dans la nature. Toutefois, le CERT-FR s’attend à ce que du code d’attaque soit publiquement disponible dans un délai de quelques semaines à compter de la présentation des chercheurs à la Black Hat.

Le CERT-FR recommande donc l’application des correctifs dans les plus brefs délais lorsque ceux-ci sont disponibles. En effet, même si Wind River a publié les correctifs, ceux-ci doivent être répercutés par leurs clients directs avant de pouvoir être transmis aux utilisateurs finaux.

Des entreprises comme Siemens [4] et Schneider Electric [5] ont communiqué sur le sujet et disent travailler à mettre à disposition les correctifs pour leurs produits contenant une version vulnérable de VxWorks. Toutefois, la grande difficulté vient du fait qu’il n’existe pas de liste exhaustive des produits vulnérables.

En attendant la diffusion des listes par produits, le CERT-FR recommande de se servir de cette occasion pour effectuer un inventaire des machines et services présents sur votre parc. Le CERT-FR participe à une cartographie des éditeurs vulnérables et toute contribution pourra être apportée par les lecteurs à l’adresse cert-fr.cossi@ssi.gouv.fr.

Interroger ses fournisseurs, consulter les notices ou essayer de capturer l’empreinte des services en écoute peut aider à identifier les produits contenant VxWorks. Une fois les matériels vulnérables identifiés, il est possible d’étudier l’opportunité du déploiement des mesures de contournement.

Recommandations

Le CERT-FR recommande l’application de ces correctifs de sécurité dès que possible.

Documentation

Rappel des avis émis

Dans la période du 29 juillet au 04 août 2019, le CERT-FR a émis les publications suivantes :