Contexte et découverte
Des chercheurs ont présenté une chaîne d'exploitation visant le système d'exploitation OpenBSD. La vulnérabilité repose sur un bug de mémoire partagée identifié il y a 37 ans, mais jamais exploité en production. Le travail montre que même des failles anciennes peuvent être réactivées lorsqu’elles sont combinées avec des techniques modernes d’escalade de privilèges.
Mécanisme de la vulnérabilité
Le bug concerne la gestion des segments de mémoire partagée entre processus. Un contrôle insuffisant des limites d’accès permet à un processus non privilégié d’écrire en dehors de la zone allouée. Cette écriture hors limites peut corrompre des structures de données du noyau, notamment les tables de descripteurs de processus. La corruption de ces tables ouvre la possibilité de modifier les droits d’exécution d’un processus, un point d’entrée classique pour obtenir des privilèges supérieurs.
Chaînage d'exploit et élévation de privilèges
Les chercheurs ont combiné le débordement de mémoire partagée avec une seconde primitive d’exploitation déjà disponible dans OpenBSD. La première étape crée une corruption contrôlée ; la seconde utilise cette corruption pour injecter du code dans le contexte du noyau. Une fois le code exécuté avec les droits du noyau, le processus acquiert l’identifiant root. Le processus complet, de la création du segment partagé à l’obtention du privilège root, a été reproduit dans un environnement de test contrôlé.
Implications pour la sécurité d'OpenBSD
OpenBSD se distingue par une politique de sécurité stricte, incluant des mécanismes comme pledge et unveil. Cependant, la chaîne présentée montre que la sécurité du périmètre ne suffit pas si le noyau possède une faille de gestion de mémoire. La découverte incite les mainteneurs à réexaminer les chemins de code liés aux objets partagés, même ceux considérés comme « legacy ». En l’absence de correctif public, les administrateurs sont encouragés à surveiller les mises à jour du projet et à appliquer les correctifs dès leur disponibilité. La démonstration souligne également l’importance de la recherche continue sur les vulnérabilités anciennes, qui peuvent devenir exploitables avec l’évolution des techniques d’attaque.