Aller au contenu
ittechwire

L’actualité tech, sources à l’appui

  1. Accueil
  2. Sécurité

Sécurité

Les errata d'OpenBSD 7.9 corrigent des failles du noyau que Calif a enchaînées en un exploit root local

Selon l'entreprise de sécurité Calif, une faille de mémoire partagée remontant à environ 37 ans, au code BSD d'origine, constituait l'un des deux maillons d'une chaîne root locale. Calif indique qu'OpenBSD a publié les correctifs sous forme des errata 018 et 026.

Rédaction ittechwire4 min de lectureSources: 2Traduction IA · original : English
Un moniteur affichant une connexion root sur la console texte d'OpenBSD 5.3, une ancienne version du système d'exploitation, à côté d'un second écran.
NAVY Stealth Reverser · CC0

Points clés

  1. 1Calif a publié des recherches sur un exploit root local pour OpenBSD combinant deux bogues du noyau ; les correctifs figurent dans les errata d'OpenBSD 7.9.
  2. 2Selon Calif, l'une des failles concerne un compteur signé sur 16-bit d'attachements de mémoire partagée, remontant à environ 37 ans aux sources BSD d'origine.
  3. 3L'erratum 018 d'OpenBSD, daté du 14 septembre 2026, est étiqueté comme correctif de fiabilité pour un dépassement d'entier dans shmat.
  4. 4L'erratum 026, daté du 30 septembre 2026, est étiqueté comme correctif de sécurité pour un bogue de comptage de références du noyau pouvant provoquer un use-after-free.
  5. 5L'exploit nécessite un accès local ; Calif a aussi proposé un durcissement plus large du noyau, comme le retrait sécurisé des listes, la randomisation des allocateurs et des protections au niveau du compilateur.

L'article complet

L'entreprise de sécurité Calif a publié des travaux de recherche décrivant comment elle a obtenu les privilèges root sur OpenBSD en combinant deux failles du noyau que le projet a depuis corrigées. Dans un article d'Andrew Griffiths daté du 16 octobre, l'entreprise affirme que l'un des bogues remonte à environ 37 ans, aux sources BSD d'origine. Calif indique avoir signalé les vulnérabilités à OpenBSD plus tôt cette année, souvent accompagnées de propositions de correctifs.

Selon Calif, la faille la plus ancienne concerne un compteur qui suit les attachements de mémoire partagée et qui était défini comme une valeur signée sur 16-bit, susceptible de déborder. L'entreprise précise que ce débordement pouvait conduire à un use-after-free via une situation de concurrence et, combiné à une écriture hors limites distincte dans le noyau, permettait à un utilisateur local d'élever ses privilèges jusqu'à root. Calif affirme que l'attaque fonctionnait avec la réédition des liens du noyau KARL d'OpenBSD et les protections processeur SMAP et SMEP activées, sans nécessiter de bogue de divulgation d'informations. L'article renvoie également vers du code et une preuve de concept.

Calif indique que les problèmes ont été corrigés dans les errata 018 et 026 d'OpenBSD. Sur la page des errata d'OpenBSD 7.9, l'erratum 018 est daté du 14 septembre 2026 et figure comme correctif de fiabilité empêchant un dépassement d'entier dans shmat. L'erratum 026, daté du 30 septembre 2026, figure comme correctif de sécurité pour un bogue de comptage de références pouvant entraîner une condition de use-after-free dans le noyau. Les deux entrées s'appliquent à toutes les architectures. Calif désigne ces deux errata comme les correctifs des problèmes de sa chaîne ; l'un des deux correctifs porte donc une étiquette de fiabilité plutôt que de sécurité.

La page des errata précise que les correctifs sont distribués sous forme de diffs unifiés signés et que l'utilitaire syspatch peut installer des mises à jour binaires sur amd64, i386 et arm64. Les correctifs destinés aux versions prises en charge sont également intégrés à la branche -stable, que le projet maintient pendant un an après chaque version. Calif décrit l'exploit comme une élévation de privilèges locale, ce qui signifie qu'un attaquant devrait d'abord avoir accès au système.

Au-delà des errata, Calif a présenté plusieurs pistes de durcissement visant à compliquer des chemins d'attaque similaires. Parmi elles figurent des contrôles d'intégrité avant le retrait d'entrées de listes doublement chaînées, que FreeBSD et NetBSD implémentent déjà selon l'entreprise, ainsi qu'une randomisation accrue de la mémoire du noyau, Calif affirmant que les allocateurs du noyau d'OpenBSD restent déterministes même si KARL randomise l'agencement du binaire du noyau. L'entreprise a également cité des fonctionnalités de compilateur telles que l'array bounds sanitizer et les futurs Alloc Tokens. Calif indique avoir suggéré ce sanitizer à FreeBSD et y avoir signalé en privé 21 problèmes qu'il aurait détectés, estimant que neutraliser des classes entières de bogues devient plus important à mesure que l'IA facilite la découverte de vulnérabilités.

Pourquoi c’est important

Les administrateurs qui n'appliquent que les errata étiquetés sécurité ont pu ignorer le 018, qu'OpenBSD classe comme correctif de fiabilité, alors que Calif le désigne comme l'un des deux correctifs des bogues de sa chaîne d'exploit root. Du code d'exploitation étant référencé publiquement, il est conseillé de vérifier que les errata 018 et 026 sont tous deux installés, en particulier sur les systèmes où des utilisateurs non fiables peuvent se connecter localement.

Chronologie

  1. · Publié

Sujets#OpenBSD#noyau#élévation de privilèges#gestion des correctifs#Calif

Sources

Cet article s'appuie sur les sources suivantes. Consultez-les pour le contexte complet.

  1. 1Calif · RechercheBig Fish: Exploiting a 37-Year-Old Kernel Bug in OpenBSDcalif.io
  2. 2OpenBSD · Communiqué officielOpenBSD 7.9 Erratawww.openbsd.org