Vigil@nce : pam-krb5, corruption de fichier
février 2009 par Vigil@nce
SYNTHÈSE DE LA VULNÉRABILITÉ
Lorsqu’un programme suid réinitialise les credentials de pam-krb5,
un fichier peut être corrompu.
Gravité : 2/4
Conséquences : accès/droits administrateur, création/modification
de données
Provenance : shell utilisateur
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 : élevée (3/3)
Date création : 12/02/2009
PRODUITS CONCERNÉS
– Debian Linux
– OpenSolaris
– Sun Solaris
– Sun Trusted Solaris
– Unix - plateforme
DESCRIPTION DE LA VULNÉRABILITÉ
Le module pam-krb5 permet d’authentifier les utilisateurs en
utilisant Kerberos.
La variable d’environnement KRB5CCNAME indique le chemin d’accès
au cache des credentials (données d’authentification). Par exemple
KRB5CCNAME peut valoir /tmp/krb5cc_util.
L’appel pam_setcred(PAM_REINITIALIZE_CREDS) ou
pam_setcred(PAM_REFRESH_CREDS) réinitialise les credentials de
l’utilisateur. Pour cela, la fonction pam_sm_setcred() de
api-auth.c utilise un chown() sur la valeur de KRB5CCNAME.
L’utilisateur devient donc propriétaire du fichier indiqué, puis
son contenu est réinitialisé.
Certaines applications suid, comme la commande su de Solaris,
utilisent pam_setcred(PAM_REINITIALIZE_CREDS). Cependant, dans ce
cas, si un attaquant local définit préalablement KRB5CCNAME, le
fichier est corrompu lors de l’exécution de la commande suid.
Un attaquant local peut donc utiliser un programme suid
réinitialisant les credentials de pam-krb5, afin de corrompre un
fichier et de changer son propriétaire.
CARACTÉRISTIQUES
Références : 252767, 6799884, BID-33741, CVE-2009-0361, DSA
1721-1, DSA 1722-1, VIGILANCE-VUL-8468
http://vigilance.fr/vulnerabilite/pam-krb5-corruption-de-fichier-8468