Avis du CERT-FR

Objet : uudecode ne vérifie pas les liens symboliques

Gestion du document

Référence CERTA-2002-AVI-243
Titre uudecode ne vérifie pas les liens symboliques
Date de la première version04 novembre 2002
Date de la dernière version04 novembre 2002
Source(s) Avis OpenLinux : CSSA-2002-040.0
CERT CC : Vulnerability Note Vu#336083
CVE : CAN-2002-0178
Mandrake : MDKSA-2002:052
RedHat : RHSA-2002:065

Une gestion de version détaillée se trouve à la fin de ce document.

Risques

  • Dénis de service
  • Pertes de données
  • Élévations de privilèges

Systèmes affectés

  • Mandrake ;
  • OpenLinux.
  • RedHat ;

Résumé

Une vulnérabilité du logiciel uudecode permet d'écraser des fichiers, conduisant dans certains cas à une élévation de privilèges.

Description

Le mél (SMTP) et les forums de discussion sur Internet (NNTP) ont été conçus pour échanger des messages textuels en anglais. De nombreux systèmes ont donc été conçus pour échanger des messages ne contenant que des caractères imprimables du jeux ASCII. En pratique 7 bits suffisent pour représenter chaque caractère (le bit de poids fort de chaque octet est nul).

Lorsqu'il faut échanger des textes avec des caractères accentués ou bien des pièces jointes (images, sons, ...) ces systèmes ne fonctionnent plus, car ils sont confrontés à des octets dont le bit de poids fort vaut 1.

Un contournement de cette limitation est d'encoder les données binaires en un ensemble de caractères ASCII avant de les émettre. Une des normes pour réaliser ce type d'encodage est uuencode (Unix to Unix encode).

Par exemple, l'encodage d'une image :

begin 644 toto.gif
M1TE&.#EA=P!/`/<``.(M,>,N,.,N,M\N,N$O,>(Q-.(Q,N,R,^(I+MPH+N(J
[...]
ME!`;%1([L4U1L1:;%!B;L46QL1P;%![[L4;A3"*+%2%;LCMQLBA[$RJ[LDI!
8LBY[L3`;LQK[$#8*>[,XF[,ZZQ`!`0`[
`
end

où toto.gif désigne le nom du fichier à créerlorsque la pièce jointe sera décodée par le logicieluudecode.

Le paquetage GNU Sharutils est un ensemble de logiciels destinés à faire des archives shell pour la transmission de données par le mél. Parmis les logiciels de ce paquetage, on trouve une implémentation du logiciel uudecode.

Cette implémentation d'uudecode ne vérifie pas, avant d'écrire le fichier décodé sur le disque, si le fichier existe déjà et notamment s'il n'est pas un lien ou un tube nommé.

Ceci permet une attaque classique d'écrasement de fichiers en suivant les liens symboliques. Cette technique peut permettre dans certains cas une élévation de privilèges d'un utilisateur local.

D'autres implémentations de uudecode peuvent être touchées par cette vulnérabilité. La page du CERT Coordination Center précise quelles sont les implémentations vulnérables connues.

Solution

Appliquer le correctif proposé pour les implémentations vulnérables. Les avis de sécurité suivants précisent des implémentations à corriger :

RedHat : avis RHSA-2002:065

OpenLinux : avis CSSA-2002-040.0

Mandrake : avis MDKSA-2002:052

Documentation

Gestion détaillée du document

Date Description
04 novembre 2002 version initiale.
Choisissez un thème pour personnaliser l'apparence du site.