Vigil@nce : APR, APR-util, débordement d’entier d’allocations
août 2009 par Vigil@nce
Un attaquant, qui peut forcer une application à allouer une taille
illicite, peut provoquer un débordement dans APR, conduisant à un
déni de service ou à l’exécution de code.
Gravité : 2/4
Conséquences : accès/droits utilisateur, déni de service du service
Provenance : document
Moyen d’attaque : aucun démonstrateur, aucune attaque
Compétence de l’attaquant : expert (4/4)
Confiance : confirmé par l’éditeur (5/5)
Diffusion de la configuration vulnérable : moyenne (2/3)
Date création : 05/08/2009
PRODUITS CONCERNÉS
– Apache httpd
– Debian Linux
– Fedora
– Mandriva Corporate
– Mandriva Enterprise Server
– Mandriva Linux
– Mandriva Multi Network Firewall
– Red Hat Enterprise Linux
– Slackware Linux
– Unix - plateforme
DESCRIPTION DE LA VULNÉRABILITÉ
La bibliothèque APR organise la mémoire dans des "pools". Sous
Unix, APR utilise les fonctions allocator_alloc() et apr_palloc()
du fichier memory/unix/apr_pools.c, pour allouer une zone mémoire.
La bibliothèque APR-util permet de gérer la mémoire par blocs
(Relocatable Memory Management). Les fonctions apr_rmm_malloc() et
apr_rmm_calloc() réservent un bloc.
Ces 4 fonctions utilisent la macro APR_ALIGN() pour obtenir une
taille qui soit un multiple de 4ko. Par exemple, si l’utilisateur
demande 6ko, ces fonctions allouent 8ko. Cependant, si
l’utilisateur demande une taille proche de la limite, un entier
déborde et la taille devient inférieure à la taille demandée.
Un attaquant, qui peut forcer une application à allouer une taille
illicite, peut ainsi provoquer un débordement dans APR, conduisant
à un déni de service ou à l’exécution de code.
CARACTÉRISTIQUES
Références : BID-35949, CVE-2009-2412, DSA 1854-1,
FEDORA-2009-8318, FEDORA-2009-8336, FEDORA-2009-8349,
FEDORA-2009-8360, MDVSA-2009:195, MDVSA-2009:195-1,
RHSA-2009:1204-01, RHSA-2009:1205-01, SSA:2009-219-02,
SSA:2009-219-03, VIGILANCE-VUL-8918
Pointé dans : VIGILANCE-VUL-8924
http://vigilance.fr/vulnerabilite/APR-APR-util-debordement-d-entier-d-allocations-8918