Vigil@nce : Noyau Linux, corruption de mémoire via ARM OABI
mai 2011 par Vigil@nce
Ce bulletin a été rédigé par Vigil@nce : http://vigilance.fr/
SYNTHÈSE DE LA VULNÉRABILITÉ
Sur un processeur ARM, avec le support OABI activé, un attaquant
local peut corrompre la mémoire du noyau, afin de mener un déni de
service et éventuellement de faire exécuter du code.
– Gravité : 1/4
– Date création : 02/05/2011
PRODUITS CONCERNÉS
– Linux noyau
DESCRIPTION DE LA VULNÉRABILITÉ
Les applications destinées aux processeurs ARM peuvent être
compilées avec deux ABI (Application Binary Interface) :
– OABI (Old ABI), supportée par le noyau, s’il est compilé avec
CONFIG_OABI_COMPAT
– EABI (Embedded ABI)
L’appel système semtimedop() permet d’effectuer des opérations sur
un sémaphore :
semtimedop(semid, sops, nsops, timeout) ;
La fonction sys_oabi_semtimedop() du fichier
arch/arm/kernel/sys_oabi-compat.c implémente l’appel système
semtimedop(). Cependant, le nombre d’opérations "nsops" n’est pas
vérifié. Un attaquant peut donc employer un nombre très grand,
provoquant un débordement d’entier, et une allocation de zone
mémoire trop courte, qui est ensuite écrasée par les opérations
"sops".
Sur un processeur ARM, avec le support OABI activé, un attaquant
local peut donc corrompre la mémoire du noyau, afin de mener un
déni de service et éventuellement de faire exécuter du code.
ACCÈS AU BULLETIN VIGIL@NCE COMPLET
http://vigilance.fr/vulnerabilite/Noyau-Linux-corruption-de-memoire-via-ARM-OABI-10612