Risque

Elé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

Avis de sécurité OpenBSD fdalloc2 du 8 mai 2002 :

http://www.openbsd.org/errata.html