Risques

  • Déni de service
  • Exécution de code arbitraire

Systèmes affectés

  • 2.4 jusqu'au 2.4.27,
  • 2.6 jusqu'au 2.6.9.

Tout système Linux utilisant un noyau original («vanilla») ou la version d'un éditeur non corrigée.

Résumé

Un utilisateur local pouvant exécuter des programmes SUID (« Set User ID ») root peut provoquer un déni de service. Il n'est pas exclu que l'exécution de code arbitraire avec les privilèges du super-utilisateur soit également possible.

Description

L'appel système execve est utilisé pour lancer un nouveau programme. Par ailleurs, les systèmes d'exploitation Linux récents utilisent le format d'exécutable ELF (« Executable and Linkable Format »). Pour ces programmes, execve appelle du code dédié pour charger en mémoire le binaire. Ce code ne valide pas bien certains appels et il est alors possible de leurrer le système quand au bon chargement du binaire.

Dans le cas des programmes SUID, le noyau va alors permettre l'exécution avec les droits root d'un code mal formé.

Contournement provisoire

Restreindre à des utilisateurs de confiance l'exécution de programmes SUID.

Solution

Mettre à jour le noyau « vanilla » en version 2.6.10 au moins ou se référer au bulletin de sécurité de l'éditeur.

Les noyaux Gentoo on été mis à jour courant novembre et, bien qu'aucun bulletin de sécurité n'ait été édité, un noyau postérieur au 1er décembre 2004 ne doit plus être vulnérable.

Documentation