Vulnérabilités dans plusieurs systèmes d’exploitation temps réel utilisés notamment dans le secteur médical.

Date de publication :

Microsoft a récemment découvert plusieurs vulnérabilités d’allocation mémoire critique dans plusieurs systèmes d’exploitation temps réel (RTOS) utilisés notamment dans le domaine médical. Ces vulnérabilités peuvent permettre l'exécution de code arbitraire et des conditions de déni de service.

CVE-2021-30636 [Score CVSS v3 : 9.8] 
Une vulnérabilité a été corrigée dans Media Tek LinkIt SDK. Cette faille est due à un débordement d'entier dans les appels d'allocation de mémoire pvPortCalloc(calloc) et pvPortRealloc(realloc). L’exploitation de cette vulnérabilité peut permettre à un attaquant distant et non authentifié de corrompre la mémoire de manière non spécifiée sur les dispositifs impactés. 

CVE-2021-27431 [Score CVSS v3 : 9.8] 
Une vulnérabilité a été corrigée dans Arm CMSIS RTOS2 a été corrigée. Cette faille est due à un erreur d’enveloppement d’entier (similaire à un débordement d’entier) dans la fonction inosRtxMemoryAlloc, une fonction d’allocation de mémoire classique. Son exploitation peut permettre à un attaquant distant et non authentifié de provoquer un déni de service ou d’injecter du code arbitraire.

CVE-2021-27433 [Score CVSS v3 : 9.8] 
Une vulnérabilité a été corrigée dans la bibliothèque de mémoire Arm mbed-uallaoc. Cette faille est vulnérable à un enveloppement d'entier (similaire à un débordement d’entier) dans la fonction mbed_krbs. Son exploitation peut permettre à un attaquant distant et non authentifié de provoquer un déni de service ou d’injecter du code arbitraire.

CVE-2021-27435 [Score CVSS v3 : 9.8] 
Une vulnérabilité a été corrigée dans Arm mbed. Cette faille est due à un retournement d'entier dans la fonction malloc_wrapper, Son exploitation peut permettre à un attaquant distant et non authentifié de provoquer un déni de service ou d’injecter du code arbitraire.

CVE-2021-27427[Score CVSS v3 :  7.3] 
Une vulnérabilité a été corrigée dans RIOT OS. Cette faille est due à un retournement d'entier dans l'implémentation de la fonction calloc. Son exploitation peut permettre à un attaquant distant et non authentifié de provoquer un déni de service ou d’injecter du code arbitraire.

CVE-2021-22684 [Score CVSS v3 : 7.5]
 Une vulnérabilité a été corrigée dans Samsung Tizen. Cette faille est due à un enveloppement d'entier dans les fonctions_calloc et mm_zalloc. Son exploitation peut permettre à un attaquant distant et non authentifié de provoquer un déni de service ou d’injecter du code arbitraire.

CVE-2021-27439 [Score CVSS v3 : 7.3] 
Une vulnérabilité a été corrigée dans TencentOS-tiny. Cette faille est due à une erreur de calcul de la taille effective d'allocation de mémoire dans la fonction 'tos_mmheap_alloc. Son exploitation peut permettre à un attaquant distant et non authentifié de provoquer un déni de service ou d’injecter du code arbitraire.

CVE-2021-27425 [Score CVSS v3 : 9.8] 
Une vulnérabilité a été corrigée dans Cesanta Software Mongoose-OS. Cette faille est due à un erreur d’enveloppement d’entier dans la fonction mm_malloc. Son exploitation peut permettre à un attaquant distant et non authentifié de provoquer un déni de service ou d’injecter du code arbitraire.

CVE-2021-26461 [Score CVSS v3 : 9.8] 
Une vulnérabilité a été corrigée dans le système d'exploitation Apache Nuttx. Cette faille est due à un enveloppement d'entier dans les fonctions malloc, realloc et memalign. Son exploitation peut permettre à un attaquant distant et non authentifié de provoquer un déni de service ou d’injecter du code arbitraire.

CVE-2020-35198, CVE-2020-28895 [Score CVSS v3 : 9.8 / 7.5] 
Une vulnérabilité a été corrigée dans Wind River VxWorks. Cette faille est due à des faiblesses trouvées dans les fonctions suivantes : calloc(memLib), mmap/mmap64 (mmanLib), cacheDmaMalloc(cacheLib) et cacheArchDmaMalloc(cacheArchLib). Son exploitation peut permettre à un attaquant distant et non authentifié de provoquer un déni de service ou d’injecter du code arbitraire.

CVE-2021-31571, CVE-2021-31572 [Score CVSS v3 : 9.8] 
Une vulnérabilité a été corrigée dans Amazon FreeRTOS. Cette faille est due à un enveloppement d'entier dans plusieurs fonctions de l'API de gestion de la mémoire (MemMang, Queue, StreamBuffer). Son exploitation peut permettre à un attaquant distant et non authentifié de provoquer un déni de service ou d’injecter du code arbitraire.

CVE-2021-27417 [Score CVSS v3 : 9.8] 
Une vulnérabilité a été corrigée dans RTOS eCosCentric eCosPro. Cette faille est due à un erreur d’enveloppement d’entier dans la fonction calloc (une implémentation de malloc). L'affectation de mémoire non vérifiée peut conduire à une allocation de mémoire arbitraire, entraînant un débordement de tampon basé sur le tas. Un attaquant distant doit être authentifié en tant qu’administrateur afin d’exploiter cette vulénrabilité.

CVE-2021-3420 [Score CVSS v3 : 9.8] 
Une vulnérabilité a été corrigée dans Redhat newlib. Cette faille est due à un erreur d’enveloppement d’entier dans les routines de la famille malloc et nano-malloc (memalign, valloc, pvalloc, nano_memalign, nano_valloc, nano_pvalloc) en raison d'une vérification insuffisante dans la logique d'alignement de la mémoire. Son exploitation peut permettre à un attaquant distant et non authentifié de provoquer un déni de service ou d’injecter du code arbitraire.

CVE-2021-27411 [Score CVSS v3 : 9.8] 
Une vulnérabilité a été corrigée dans le système d'exploitation Micrium. Cette faille est due à un enveloppement d'entier dans les fonctions Mem_DynPoolCreate, Mem_DynPoolCreateHW et Mem_PoolCreate. . Son exploitation peut permettre à un attaquant distant et non authentifié de provoquer un déni de service ou d’injecter du code arbitraire.

CVE-2021-26706 [Score CVSS v3 : 9.8] 
Une vulnérabilité a été corrigée dans Micrium uCOS-II et uCOS-III. Cette faille est due à un enveloppement d'entier dans les fonctions Mem_DynPoolCreate, Mem_DynPoolCreateHW et Mem_PoolCreate. Son exploitation peut permettre à un attaquant distant et non authentifié de provoquer un déni de service ou d’injecter du code arbitraire.

CVE-2021-27421 [Score CVSS v3 : 9.8] 
Une vulnérabilité a été corrigée dans le kit de développement logiciel (SDK) de NXP MCUXpresso. Cette faille est due à un débordement d'entier dans la fonction SDK_Malloc, qui pourrait permettre d'accéder à des emplacements mémoire en dehors des limites d'un tableau spécifié. Son exploitation peut permettre à un attaquant distant et non authentifié de provoquer un déni de service ou d’injecter du code arbitraire.

CVE-2021-22680 [Score CVSS v3 : 7.3] 
Une vulnérabilité a été corrigée dans NXP MQX. Cette faille est due à un débordement d'entier dans les fonctions mem_alloc, _lwmem_alloc et _partition. Son exploitation peut permettre à un attaquant distant et non authentifié de provoquer un déni de service ou d’injecter du code arbitraire.

CVE-2021-27419 [Score CVSS v3 : 7.3] 
Une vulnérabilité a été corrigée dans uClibc-ng antérieures à la version 1.0.37. Cette faille est due à un enveloppement d'entier dans les fonctions malloc-simple. Son exploitation peut permettre à un attaquant distant et non authentifié de provoquer un déni de service ou d’injecter du code arbitraire.

CVE-2021-27429 [Score CVSS v3 : 7.4] 
Une vulnérabilité a été corrigée dans le système d’exploitation Texas Instrument TI-RTOS. Cette faille est due au fait que le système peut renvoyer un pointeur valide spécifique vers un petit tampon mémoire sur des valeurs extrêmement grandes. Cela peut déclencher une vulnérabilité de débordement d'entier dans 'HeapTrack_alloc'. Son exploitation peut permettre à un attaquant local et non authentifié d’injecter du code arbitraire.

CVE-2021-22636 [Score CVSS v3 : 7.4] 
Une vulnérabilité a été corrigée dans le système d’exploitation Texas Instrument TI-RTOS renvoie un pointeur valide vers un petit tampon sur des valeurs extrêmement grandes, ce qui peut déclencher une vulnérabilité de débordement d'entier dans 'malloc'. Son exploitation peut permettre à un attaquant local et non authentifié d’injecter du code arbitraire. 

CVE-2021-27504 [Score CVSS v3 : 7.4] 
Une vulnérabilité a été corrigée dans les appareils Texas Instrument exécutant FREERTOS. Cette faille est due que la fonction malloc renvoie un pointeur valide spécifique vers un petit tampon mémoire sur des valeurs extrêmement grandes, ce qui peut déclencher une vulnérabilité de débordement d'entier dans 'malloc' pour FreeRTOS. Son exploitation peut permettre à un attaquant local et non authentifié d’injecter du code arbitraire

CVE-2021-27502 [Score CVSS v3 : 7.4] 
Une vulnérabilité a été corrigée dans le système d’exploitation Texas Instrument TI-RTOS lorsqu'il est configuré pour utiliser le tas HeapMem (par défaut). Cette faille est due au fait que malloc renvoie un pointeur valide vers un petit tampon mémoire sur des valeurs extrêmement grandes, ce qui peut déclencher une vulnérabilité de débordement d'entier dans 'HeapMem_allocUnprotected'. Son exploitation peut permettre à un attaquant local et non authentifié d’injecter du code arbitraire

CVE-xxxx-xxxxx [Score CVSS v3 : N/A] 
Une vulnérabilité a été corrigée dans Google. Cette faille est due à un débordement de tas causé par un débordement d'entier dans son implémentation de calloc. Son exploitation peut permettre à un attaquant de provoquer ou d’injecter du code arbitraire.

Informations

La faille est activement exploitée :

Un correctif existe :

Une mesure de contournement existe :

Risques

Risques

  • Déni de service
  • Injection de code arbitraire

Criticité

  • Score CVSSS : 9.8 max

Existence d’un code d’exploitation

  • Aucun code d’exploitation n’est disponible publiquement à l’heure actuelle.

Composants vulnérables

  • Amazon FreeRTOS version 10.4.1
  • Apache Nuttx OS version 9.1.0 
  • ARM CMSIS-RTOS2 versions antérieures à 2.1.3
  • ARM Mbed OS version 6.3.0
  • ARM mbed-uallaoc version 1.3.0
  • Cesanta Software Mongoose OS version 2.17.0
  • eCosCentric eCosPro RTOS de la version 2.0.1 jusqu’à 4.5.3
  • Google Cloud IoT Device SDK version 1.0.2
  • Linux Zephyr RTOS versions antérieures à 2.4.0
  • Media Tek LinkIt SDK versions antérieures à 4.6.1
  • Micrium OS, versions antérieures à 5.10.2
  • Micrium uCOS II/uCOS III versions antérieures à 1.39.1
  • NXP MCUXpresso SDK versions antérieures à 2.8.2
  • NXP MQX versions 5.1 et antérieures
  • Redhat newlib versions antérieures à 4.0.0
  • RIOT OS version 2020.01.1 
  • Samsung Tizen RT RTOS versions antérieures à 3.0.GBB
  • TencentOS-tiny version 3.1.0
  • Texas Instruments CC32XX versions antérieures à 4.40.00.07
  • Texas Instruments SimpleLink MSP432E4XX
  • Texas Instruments SimpleLink-CC13XX versions antérieures à 4.40.00
  • Texas Instruments SimpleLink-CC26XX versions antérieures à 4.40.00
  • Texas Instruments SimpleLink-CC32XX versions antérieures à 4.10.03
  • Uclibc-NG versions antérieures à 1.0.36 
  • Windriver VxWorks versions antérieures à 7.0

CVE

Solutions ou recommandations

Mise en place de correctifs de sécurité

  • Mettre à jour Amazon FreeRTOS (le dépôt Github a été mis à jour).
  • Mettre à jour Apache Nuttx OS vers la version 9.1.0.
  • Une mise à jour du système d’exploitation ARM CMSIS-RTOS2 est programmée pour Juin 2021.
  • Mettre à jour ARM Mbed OS (le dépôt Github a été mis à jour).
  • ARM mbed-uallaoc est déprécié, aucun correctif de sécurité adressé aux vulnérabilités impactant ce système n’est prévu.
  • Mettre à jour Cesanta Software mongooses (le dépôt Github a été mis à jour). 
  • Mettre à jour eCosCentric eCosPro RTOS vers la version 4.5.4 ou ultérieure.
  • Mettre à jour Google Cloud IoT Device SDK (le dépôt Github a été mis à jour). 
  • Une mise à jour de sécurité pour Media Tek LinkIt SDK – MediaTek est prévue. La version gratuite du système d’exploitation ne bénéficiera pas de cette mise à jour comme elle n’est pas indiqué comme solution applicable en produciton. 
  • Mettre à jour Micrium OS: Update vers la version 5.10.2 ou ultérieures.
  • Mettre à jour Micrium uCOS-II/uCOS-III vers la version 1.39.1.
  • Mettre à jour NXP MCUXpresso SDK vers la version 2.9.0 ou ultérieure.
  • Mettre à jour NXP MQX vers la version 5.1 ou ultérieure.
  • Mettre à jour Redhat newlib, disponible à partir du dépôt officiel : https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git
  • Mettre à jour RIOT OS (le dépôt Github a été mis à jour).
  • Mettre à jour Samsung Tizen RT RTOS (le dépôt Github a été mis à jour).
  • Mettre à jour TencentOS-tiny (le dépôt Github a été mis à jour).
  • Mettre à jour Texas Instruments CC32XX vers la version 4.40.00.07.
  • Mettre à jour Texas Instruments SimpleLink CC13X0 vers la version 4.10.03.
  • Mettre à jour Texas Instruments SimpleLink CC13X2-CC26X2 vers la version 4.40.00.
  • Mettre à jour Texas Instruments SimpleLink CC2640R2 vers la version 4.40.00.
  • Une mise à jour du système d’exploitation Texas Instruments SimpleLink MSP432E4 est programmée.
  • Mettre à jour uClibc-ng, disponible à partir du dépôt officiel :
    https://downloads.uclibc-ng.org/releases/
  • Mettre à jour Windriver VxWorks – Update in progress  

Solution de contournement

  • Aucune solution de contournement n’est disponible publiquement à l’heure actuelle.