Zephyr corrige des failles de Bluetooth pouvant entraîner l’exécution de code

0

Le système d’exploitation en temps réel Zephyr pour les appareils embarqués a reçu une mise à jour plus tôt ce mois-ci qui corrige plusieurs vulnérabilités pouvant entraîner une condition de déni de service et potentiellement conduire à l’exécution de code à distance.

Les problèmes ont été découverts dans la couche de liaison Bluetooth LE de Zephyr et sa mise en œuvre du protocole de contrôle et d’adaptation de liaison logique.

Bien qu’il s’agisse d’un petit projet open source, Zephyr est soutenu par de grands noms de l’industrie comme Facebook, Google, Intel, Nordic Semiconductors et Adafruit.

Le système d’exploitation prend en charge plus de 200 cartes avec diverses architectures CPU (ARM, Cortex-M, Intel x86, ARC, NIOS II, Tensilica Xtensa, SPARC V8, RISC-V 32), ce qui en fait un choix attrayant pour les fabricants de petits appareils embarqués (aides auditives, balises intelligentes, trackers de distanciation, EPI intelligents, passerelles IoT, dispositifs de sauvegarde portables).

Bugs de Zephyr exploitables avec un seul paquet

Matias Karhumaa, ingénieur logiciel senior chez Synopsys, une société américaine d’automatisation de la conception électronique, a découvert huit vulnérabilités dans Zephyr après avoir testé les couches les plus basses de la pile Bluetooth LE du système d’exploitation.

Les vulnérabilités sont toutes dans la couche de liaison Bluetooth LE et l’implémentation L2CAP. La plupart d’entre elles affectent les versions 2.5.0 et 2.4.0 de Zephyr. Certaines sont également présentes dans la version 1.14.

L’exploitation de la plupart d’entre elles empêche le périphérique vulnérable de fonctionner, soit en le faisant geler, soit en se comportant mal d’une manière qui empêche d’autres systèmes de s’y connecter.

Dans un rapport publié récemment, Synopsys indique que le gel de l’appareil peut conduire à l’exécution de code à distance dans certaines circonstances et que les attaquants peuvent déclencher la condition sur des appareils vulnérables par liaison radio en utilisant un seul paquet.

Dans le cas d’une vulnérabilité (CVE-2021-3435, score de gravité élevé), son exploitation provoque une fuite d’informations pouvant inclure des détails sensibles. En envoyant un paquet L2CAP_CREDIT_BASED_CONNECTION_REQ malformé, un attaquant peut lire jusqu’à 6 octets de contenu mémoire non initialisé.

Une autre vulnérabilité de gravité élevée est identifiée en tant que CVE-2021-3455. Cela provoque une condition de déni de service sur le système, mais a également le potentiel d’exécuter du code à distance en exploitant un problème use-after-free dans l’implémentation L2CAP de Zephyr.

Identifiant CVEScore de SévéritéImpactHôte / ContrôleurDescription
CVE-2021-34305.9 (Moyen)Blocage (Zephyr 2.5.0, 2.4.0, 1.14)ContrôleurÉchec de l’assertion en cas de répétition LL_CONNECTION_PARAM_REQ
CVE-2021-34315.9 (Moyen)Blocage (Zephyr 2.5.0, 2.4.0)ContrôleurÉchec d’assertion sur certaines répétitions LL packets
CVE-2021-34325.9 (Moyen)Blocage (Zephyr 2.5.0, 2.4.0, 1.14)ContrôleurIntervalle invalide dans CONNECT_IND mène à une Division par Zero
CVE-2021-34333.9 (Bas)Impasse (Zephyr 2.5.0, 2.4.0, 1.14)ContrôleurMappage de canaux invalide dans CONNECT_IND mène à une impasse
CVE-2021-34347.7 (Elevé)Blocage (Zephyr 2.5.0, 2.4.0)HôteL2CAP: Débordement de tampon basé sur la pile dans le_ecred_conn_req()
CVE-2021-34355.9 (Moyen)Fuite d’information (Zephyr 2.5.0, 2.4.0)HôteL2CAP: Fuite d’information dans le_ecred_conn_req()
CVE-2021-34545.9 (Moyen)Blocage (Zephyr 2.5.0, 2.4.0)HôteL2CAP: La trame K L2CAP tronquée provoque un échec d’assertion
CVE-2021-34557.7 (Elevé)Blocage (Zephyr 2.5.0, 2.4.0)HôteLa déconnexion du canal L2CAP juste après une demande ATT non valide conduit à une faille use-after-free

Les détails techniques sont disponibles dans l’article de Karhumaa. L’ingénieur a découvert les premières vulnérabilités liées au Bluetooth dans le système d’exploitation en temps-réel de Zephyr début Février et les a signalées en privé au développeur.

Une nouvelle version de Zephyr(2.6.0) a été publiée au début du mois pour inclure des correctifs pour toutes les failles de sécurité dans le tableau ci-dessus.

« Les fabricants de produits utilisant le système d’exploitation Zephyr dans leur produit sont encouragés à mettre à jour leur version de Zephyr pour inclure les derniers correctifs de sécurité. La politique de sécurité de Zephyr garantit que les correctifs de sécurité sont rétroportés vers les deux versions les plus récentes et vers la version LTS active », écrit Karhumaa.

« Pour les versions Zephyr non LTS, les fabricants devront peut-être prendre en charge le rétroportage des correctifs de sécurité eux-mêmes », a ajouté l’ingénieur.

Si cet article vous a plu, jetez un œil à notre article précédent.

Laisser un commentaire