Stack Clash : les systèmes Linux et BSD affectés par une vulnérabilité de dépassement de pile mémoire
permettant une élévation de privilèges
Les chercheurs de la firme de sécurité Qualys viennent de dévoiler une vulnérabilité dans la gestion de la mémoire de plusieurs systèmes d’exploitation. La vulnérabilité baptisée Stack Clash affecte les OS Linux, OpenBSD, NetBSD, FreeBSD et Solaris, sur i386 et amd64. Elle peut être exploitée par des attaquants pour corrompre la mémoire et exécuter un code arbitraire.
Il s’agit plus précisément d’une vulnérabilité de dépassement de pile. Autrement dit, elle peut être exploitée pour amener un processus, lors de l'écriture dans une pile, à écrire à l'extérieur de l'espace alloué à la pile, écrasant ainsi des informations nécessaires au processus. Rappelons que la pile est une région spéciale utilisée par chaque programme exécuté sur un ordinateur. Cette région se développe automatiquement lorsque le programme a besoin de plus de pile mémoire. Si elle augmente trop et devient trop proche d’une autre région de la mémoire cependant, il peut avoir collision entre les deux régions : le programme peut confondre la pile avec l’autre région. Cela peut se traduire par une superposition de la pile avec l’autre région de mémoire, généralement le tas. Ainsi l'accès à la pile se reflète dans le tas et vice versa ; une confusion qui peut être exploitée par un attaquant.
L'idée de créer une collision entre la pile et une autre région de mémoire n'est pas pas récente. Elle a au moins été exploitée deux fois, en 2005 et en 2010. En 2010, un mécanisme baptisé stack guard page a donc été ajouté au noyau Linux comme protection contre les attaques de dépassement de pile. La stack guard page se place entre la région de mémoire de pile et d'autres régions de mémoire de sorte qu’un dépassement de pile provoque un accès invalide. Mais dans son avis de sécurité, Qualys indique avoir trouvé des moyens pour contourner le mécanisme de protection implémenté dans le noyau Linux. Si la région du tas (ou une région de mémoire différente) et la région de la pile étaient adjacentes, il serait alors possible de « sauter » la stack guard page et accéder à la mémoire dans la région adjacente sans provoquer un accès invalide.
Les chercheurs de Qualys qui ont découvert Stack Clash ont développé sept exploits et sept preuves de concept pour cette faille. « Les exploits et les preuves de concept que nous avons développés dans le cadre de notre recherche sont tous des élévations de privilèges locaux », ont-ils indiqué, avant de préciser qu’un « attaquant qui a un quelconque type d'accès à un système affecté peut exploiter la vulnérabilité Stack Clash et obtenir des privilèges root complets. »
En dehors des systèmes cités, les chercheurs n’excluent pas la possibilité que d’autres systèmes soient également affectés. « D'autres systèmes d'exploitation et architectures peuvent également être vulnérables, mais nous n'en avons pas encore fait d'étude sur ce sujet », disent-ils. Leur recherche a également porté sur une exploitation locale de la vulnérabilité. Cela dit, ils n’excluent pas non plus le fait que Stack Clash soit exploitable à distance.
Ils ont travaillé en étroite collaboration avec les fournisseurs des systèmes affectés pour développer des patchs ; lesquels sont déjà disponibles, au moins pour certains systèmes, dont ceux de Red Hat. Il est donc recommandé aux utilisateurs d’accorder une priorité élevée à l’application de ces correctifs.
Sources : Qualys, Red Hat
Et vous ?
Qu’en pensez-vous ?
Utilisez-vous l’un des systèmes vulnérables ? Si oui, êtes-vous déjà protégé ?
Voir aussi :
Linux : une faille de sécurité a été détectée dans sudo, mais a déjà été corrigée sur Red Hat, SUSE et Debian
Partager