Stack Clash une vulnérabilité qui affecte Linux, FreeBSD, OpenBSD, NetBSD et Solaris

Par:
fredericmazue

mar, 20/06/2017 - 16:03

L'éditeur de solution de sécurité Qualys attire l'attention sur Stack Clash, une vulnérabilité qui touche les systèmes d'exploitation de types UNIX, dont Linux, FreeBSD, OpenBSD, NetBD et Solaris, ceci sur architectures i386 et amd64.

Comme le nom le suggère, Stack Clash est un problème de possible collision entre la pile d'une application et une de ses zones mémoire.

Lorsqu'une application fait une usage intensif de la pile, celle-ci croît. Si la pile croît jusqu'à rencontrer une zone de mémoire de l'application, alors par du code malicieux, en écrivant dans la pile, une application peut corrompre la zone mémoire sur laquelle elle déborde. Ceci permet potentiellement de nombreuses attaques pouvant aboutir par exemple à une élévation de privilège.

Pour lutter contre de tels exploits, le noyau Linux a introduit une protection baptisée Stack Guard (gardien de pile). Le principe est que, si le pointeur de pile se déplace au delà de la zone allouée à la pile, une faute de page est générée dans le microprocesseur et traitée par le noyau qui réalloue de la mémoire à la pile, ou bien termine l'application avec un signal SIGSEGV (faute de segmentation).

Mais le problème est que si le pointeur de pile déborde de sa zone en allant pointer directement dans une zone de mémoire déjà allouée à l'application, alors le Stack Guard est enjambé, si l'on peut dire, aucune faute de page ne se produit et alors il est possible d'écrire dans cette zone mémoire via le pointeur de pile.

Qualys indique avoir développé sept exploits et sept preuves de concept autour de cette vulnérabilité, et l'avoir fait en relation avec les développeurs de ces systèmes, qui ont parallèlement travaillé à des correctifs. Qualys ne publiera ces exploits que lorsque les correctifs auront été largement diffusés.

Les systèmes mentionnés plus haut sont-il gravement menacés ? A priori non. Selon Qualys, une attaque à distance est peu vraisemblable. Par contre une attaque en local est possible et les administrateurs qui sont en charge de système avec de nombreux utilisateurs disposant d'un Shell doivent être particulièrement vigilants.

Comme toujours la prudence veut d'appliquer les correctifs aussi vite que possible, même si l'on ne se sent pas menacé.