Risque
- Élévation de privilèges
Systèmes affectés
- Toutes les versions de FreeBSD antérieures à la version 4.6-RELEASE (incluse).
La version 4.6-STABLE (avant la correction du 30 juillet 2002) est également vulnérable.
- Toutes les versions de OpenBSD antérieures à la version 3.1 (incluse).
Résumé
Une mauvaise gestion des descripteurs de fichier sous FreeBSD permet à un utilisateur mal intentionné d'élever ses privilèges.
Description
Par convention, sur les systèmes POSIX, les descripteurs de fichier 0, 1 et 2 correspondent respectivement à l'entrée standard, la sortie standard et l'erreur standard.
Les descripteurs de fichier sont alloués séquentiellement, en partant du numéro de descripteur non attribué le plus bas. Si un programme set-uid ou set-gid était lancé avec certains descripteurs d'entrée/sortie fermés (descripteurs 0, 1 et 2), ce programme pourrait ouvrir un fichier et l'associer par erreur à l'entrée standard, la sortie standard ou l'erreur standard. Le programme pourrait ainsi lire des données d'un fichier, ou écrire dans celui-ci par erreur.
L'exploitation de cette vulnérabilité permet, dans certains cas, à un utilisateur local mal intentionné d'obtenir les privilèges root.
Solution
Mettre à jour le noyau. Se référer aux avis de sécurité du distributeur.
Documentation
- Avis de sécurité FreeBSD-SA-02:23.stdio : ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-02:23.asc