Plusieurs vulnérabilités identifiées dans le système d’exploitation temps réel VxWorks

Une équipe de chercheurs en sécurité de l’entreprise Armis a découvert 11 vulnérabilités affectant Wind River VxWorks.

Wind River VxWorks est un système d'exploitation temps réel multitâches, généralement utilisé dans les systèmes embarqués. Ce système d’exploitation est notamment utilisé dans des équipements de santé tels que des scanneurs IRM ou des moniteurs de surveillance.

Les vulnérabilités, surnommées « URGENT/11. », sont liées à la gestion de la pile IP et peuvent entrainer des dénis de service ou des exécutions de code à distance.

CVE-2019-12256 [Score CVSS v3: 9.8]

Un paquet IPv4 spécialement conçu, contenant des options SSRR / LSRR non valides encodées, peut provoquer un débordement de la pile d'appels. Ce débordement peut provoquer un déni de service ou entrainer une exécution de code arbitraire.

Aucun service spécifique au-delà du support du protocole IPv4 n'est requis.

Les options SSRR (Strict Source and Record Route) et LSRR (Loose Source Record Route) permettent de spécifier une liste de nœuds réseau que le paquet TCP doit traverser avant d’atteindre sa destination.

CVE-2019-12255 [Score CVSS v3: 9.8]

Un échange TCP spécialement conçu avec le drapeau URG (indiquant le caractère urgent d’une transmission) peut provoquer un dépassement du tampon passé en paramètre des routines de gestion de paquets recv(), recvfrom() ou recvmsg(). Ce débordement peut provoquer un déni de service ou entrainer une exécution de code arbitraire.

CVE-2019-12260 [Score CVSS v3: 9.8]

La réception d’une série de paquets TCP spécialement conçus (correspondant à une authentification ou TCP AO) et dont le dernier paquet contient un drapeau URG (indiquant le caractère urgent d’une transmission) peut entrainer un dépassement de mémoire tampon (buffer overflow) lors de l’appel aux méthodes de gestion de paquets recv(), recvfrom() ou recvmsg().
Ce dépassement de mémoire tampon peut entrainer un déni de service ou entrainer une exécution de code arbitraire.

CVE-2019-12261 [Score CVSS v3: 8.8]

Une mauvaise gestion des réponses à une tentative de connexion peut positionner le système VxWorks dans un état instable pouvant entrainer un dépassement de mémoire tampon.

En effet, le système se positionne dans un état incohérent lorsqu'il reçoit une réponse de connexion TCP contenant les drapeaux FIN (signifiant la fin d’une transmission de données) et URG (indiquant le caractère urgent d’une transmission). La réception d’un autre segment TCP dans cet état entraine un débordement de mémoire tampon.

CVE-2019-12263 [Score CVSS v3: 8.1]

Une situation de compétition (race condition) a été identifiée dans le mécanisme de gestion des paquets TCP Urgent des systèmes VxWorks. En effet, sur les systèmes multi-cœurs, la réception simultanée d’un paquet urgent (avec le drapeau URG) et d’un paquet non-urgent (sans le drapeau URG) peut entrainer un accès simultané à une ressource partagée. Cet accès simultané peut entrainer des défauts dans le fonctionnement de l’équipement et entrainer un déni de service.

CVE-2019-12257 [Score CVSS v3: 8.8]

Un paquet DHCP spécialement conçu peut provoquer un dépassement de la mémoire allouée sur le tas (heap-based buffer overflow) sur les systèmes VxWorks utilisant le DHCP.

Un attaquant pourrait exploiter cette vulnérabilité pour réaliser un déni de service sur l’équipement.

L'attaquant doit se situer sur le même réseau local que la victime car les paquets DHCP ne sont pas transmis par les routeurs IP.

CVE-2019-12258 [Score CVSS v3: 7.5]

Un paquet spécialement conçu contenant des options TCP illégales peut amener la victime à supprimer non seulement le segment TCP, mais également la session TCP associée. Un attaquant pourrait exploiter ce mécanisme pour réaliser un déni de service sur l’équipement.

CVE-2019-12262 [Score CVSS v3: 7.1]

Le gestionnaire de réception de paquet RARP (Reverse ARP) vérifie que le paquet est bien formé, mais ne vérifie pas que le nœud a une transaction RARP en cours correspondant au paquet reçu. Cette vulnérabilité peut provoquer des ralentissements dans le fonctionnement de l’application.

CVE-2019-12264 [Score CVSS v3: 7.1]

Le client DHCP de VxWorks ne parvient pas à valider correctement que l'adresse IP proposée dans une réponse de renouvellement ou d'offre DHCP contient une adresse IP unicast valide. Un attaquant peut donc attribuer à la volée des adresses de multidiffusion (multicast) ou de diffusion (broadcast) à la victime et intercepter une partie du trafic réseau.

CVE-2019-12259 [Score CVSS v3: 6.3]

Une vulnérabilité de type déréférencement de pointeur NULL a été identifiée dans le mécanisme d’analyse IGMP. Cette vulnérabilité peut provoquer un déni de service de l’équipement.

Le protocole IGMP permet à des routeurs IP de déterminer de façon dynamique les groupes multicast qui disposent de clients dans un sous-réseau.

CVE-2019-12265 [Score CVSS v3: 5.4]

Cette vulnérabilité permet de récupérer des informations techniques en utilisant une fuite de données dans le protocole  IGMPv3 (Internet Group Management Protocol).

Informations
+

Risques

  • Déni de service
  • Exécution de code à distance

Criticité

  • Score CVSS maximum : 9.8

Existence d’un code d’exploitation de la vulnérabilité

  • Aucun code d’exploitation n’est disponible.

Composants & versions vulnérables

  • CVE-2019-12255 / CVE-2019-12257 :
    • VxWorks 6.9, version antérieure au patch 6.9.4
  • CVE-2019-12256 / CVE-2019-12261 / CVE-2019-12263 / CVE-2019-12258 / CVE-2019-12259 / CVE-2019-12262 / CVE-2019-12264 :
    • VxWorks 7, version antérieure aux patchs 2.1.0.0 ou 1.4.3.1
    • VxWorks 6.9, version antérieure au patch 6.9.4.12 
  • CVE-2019-12265 :
    • VxWorks version antérieures à la version 6.9

 

CVE

  • CVE-2019-12256
  • CVE-2019-12255
  • CVE-2019-12260
  • CVE-2019-12261
  • CVE-2019-12263
  • CVE-2019-12257
  • CVE-2019-12258
  • CVE-2019-12262
  • CVE-2019-12264
  • CVE-2019-12259
  • CVE-2019-12265

Recommandations
+

Mise en place de correctif de sécurité

Solution de contournement

  • S'il n'est pas possible dans un avenir proche de corriger ou d'installer le dernier logiciel VxWorks, les clients peuvent se fier aux règles d'un système de détection d'intrusion (IDS) pour identifier les tentatives d'exploitation.