Vigil@nce - noyau Linux : déni de service via BPF JIT
juillet 2015 par Vigil@nce
Ce bulletin a été rédigé par Vigil@nce : http://vigilance.fr/offre
SYNTHÈSE DE LA VULNÉRABILITÉ
Un attaquant peut utiliser un filtre BPF malveillant qui sera
compilée en code natif, afin de provoquer une exception fatale
dans le noyau et ainsi mener un déni de service.
Produits concernés : Linux, Ubuntu
Gravité : 1/4
Date création : 23/06/2015
DESCRIPTION DE LA VULNÉRABILITÉ
Le noyau Linux dispose d’un filtre de paquets d’origine BSD. Un
filtre peut être compilé en code machine natif juste avant son
exécution.
Il existe plusieurs possibilités de traduire une instruction d’un
filtre BPF en code x86, et les instructions x86 sont de longueur
variable. Le compilateur fait donc plusieurs passes sur le code
x86 pour ajuster les instructions de sauts. Cependant, un filtre
spécialement formé peut nécessiter davantage de passes
qu’autorisé par la borne prévue. Le code produit contient alors
des instructions résiduelles INT 3 d’appel au metteur au point,
instruction interdite dans le noyau.
Un attaquant peut donc utiliser un filtre BPF malveillant qui sera
compilée en code natif, afin de provoquer une exception fatale
dans le noyau et ainsi mener un déni de service.
ACCÈS AU BULLETIN VIGIL@NCE COMPLET
http://vigilance.fr/vulnerabilite/noyau-Linux-deni-de-service-via-BPF-JIT-17207