Translated message

A translation of this page exists in English.

Warning message

This translation is outdated. For the most up-to-date information, please refer to the English version.

Vulnérabilités libuser (CVE-2015-3245 et CVE-2015-3246)

Red Hat Product Security a pris connaissance de deux failles de sécurité dans l'utilitaire « userhelper » (qui fait partie du package « usermode ») et dans la bibliothèque « libuser ». Les utilisateurs locaux et authentifiés ayant accès à l'interface en ligne de commande peuvent avoir ces vulnérabilités se combinant entre elles et résulter en élévation des privilèges locaux à superutilisateur. Ces vulnérabilités ont été assignées à CVE-2015-3245 et à CVE-2015-3246. En combinaison entre elles, les vulnérabilités ont été évaluées à un niveau d'impact Important. Red Hat souhaite remercier Qualys pour nous faire part de ce problème.

Informations générales

La bibliothèque « libuser » implémente une interface standardisée pour manipuler et administrer les comptes utilisateur et groupe. Le programme « userhelper », inclus dans le package « usermode », fournit une interface non-interactive pour changer un mot de passe d'utilisateur, le champ GECOS et l'interpréteur de commandes (shell).

Impact

Voir les deux sections suivantes qui donnent des descriptions sur les deux vulnérabilités se combinant entre elles.

Condition de concurrence dans la mise à jour du fichier de mot de passe (CVE-2015-3246, Important)

On a détecté une faille dans la façon dont la bibliothèque « libuser » gérait le fichier « /etc/passwd ». Même si les programmes traditionnels tels que « passwd », « chfn » et « chsh » travaillent sur une copie temporaire du fichier « /etc/passwd » et finissent par utiliser la fonction « rename() » pour renommer la copie temporaire, « libuser » modifiait « /etc/passwd » directement. Malheureusement, si quelque chose n'allait pas au cours de ces modifications, « libuser » pouvait laisser « /etc/passwd » dans un état incohérent.

Ce comportement pouvait entraîner une attaque de déni de service local. De plus, combiné à une seconde défaillance (CVE-2015-3245, décrit ci-dessous), cela pouvait entraîner l'élévation des privilèges à superutilisateur.

Voir le tableau ci-dessous pour voir les liens d'avis de sécurité qui adressent ce problème.

Manquement de validation du contenu des champs GECOS (CVE-2015-3245, Modéré)

On a constaté que la fonction « chfn » de l'utilitaire « userhelper » ne filtrait pas correctement les caractères de saut de ligne. La fonction « chfn » mise en place par l'utilitaire « userhelper » vérifiait que les champs qui lui étaient donnés sur la ligne de commande étaient valides (c'est-à-dire que ces champs ne contiennent aucun caractère interdit). Malheureusement, ces interdits de caractères (':, =') n'incluaient pas '¶', permettant ainsi aux attaquants locaux d'injecter des caractères de saut de ligne dans le fichier « /etc/passwd » et à modifier ce fichier de façon inattendue.

Un attaquant local pouvait utiliser cette faille pour corrompre le fichier « /etc/passwd », entraînant ainsi une attaque de déni de service sur le système.

Remarque : Ce problème, attribué au package « usermode » à l'origine, est maintenant corrigé par une mise à jour de « libuser », car « libuser » a dû être modifié pour pouvoir adresser la vulnérabilité CVE-2015-3246 de toutes façons.

Avis de sécurité

Toutes les versions de la bibliothèque « libuser » fournie dans Red Hat Enterprise Linux 6 et 7, sont affectées par ces failles. Consultez le tableau ci-dessous pour des liens sur les avis de sécurité respectifs qui puissent résoudre ce problème :

Product Advisory
Red Hat Enterprise Linux 6 RHSA-2015:1482
Red Hat Enterprise Linux 7 RHSA-2015:1483

 
Ce problème affecte également Red Hat Enterprise Linux 5, maintenant en phase de Production 3 de son cycle de vie de support et de maintenance. De ce fait, il n'est pas prévu d'adresser ce problème dans les mises à jour à venir de Red Hat Enterprise Linux 5. Pour plus d'informations, reportez-vous à [Red Hat Enterprise Linux Cycle de vie] (https://access.redhat.com/support/policy/updates/errata/).

Conteneurs et Hôtes atomiques

Toutes les images de conteneur officielles fournies par Red Hat incluent une version vulnérable de la bibliothèque « libuser ». Les utilisateurs concernés peuvent utiliser la fonctionnalité « yum » intégrée pour une mise à jour à des versions corrigées (voir « Résolution » ci-dessous). Cela résout la vulnérabilité. Les builds mis à jour de ces conteneurs reflétant ces mises à jour seront publiés prochainement.

L'hôte atomique inclut une version vulnérable de la bibliothèque « libuser ». Il est possible de mettre à jour tous les conteneurs hébergés par Atomic à des versions corrigées de ces packages, à l'aide de leur fonctionnalité intégrée yum. Il n'est pas possible d'exploiter l'hôte atomique à partir d'un conteneur avec ces problèmes. La prochaine mise à jour cumulative inclut des correctifs pour l'hôte atomique.

Images Cloud et Appareils

Toutes les images d'appareil et de cloud officielles fournies par Red Hat incluent une version vulnérable de la bibliothèque « libuser ». Les utilisateurs concernés peuvent utiliser la fonctionnalité « yum » intégrée pour une mise à jour à des versions corrigées (voir « Résolution » ci-dessous). Cela résout la vulnérabilité. Les respins mis à jour de ces conteneurs reflétant ces mises à jour seront publiés prochainement.

Services Web Amazon

Les instances de machines Red Hat Enterprise Linux Amazon incluent une version vulnérable de la bibliothèque « libuser ». Il est possible de mettre à jour tous les systèmes à des versions corrigées de ces packages en utilisant leur fonctionnalité intégrée « yum » (voir « Résolution » ci-dessous).

Images RHEV-H

Les images de l'appareil Red Hat Enterprise Virtualization Hypervisor incluent une version vulnérable de la bibliothèque « libuser ». Ces images doivent être utilisées uniquement dans des machines virtuelles hôtes et ne doivent pas avoir d'utilisateurs locaux non fiables.

Il n'est pas possible d'attaquer des hôtes RHEV-H de l'intérieur d'une machine virtuelle en exploitant ces problèmes. Une prochaine mise à jour de l'image RHEV-H corrigera cette vulnérabilité.

Résolution de problème

Pour éliminer les risques d'exploitation, installez les packages « libuser » mis à jour et rendus disponibles dans les avis de sécurité énumérés dans le tableau ci-dessus.

Pour installer les mises à jour, utiliser le gestionnaire de packages « yum » comme suit :

yum update

Pour mettre à jour le package « libuser » et ses dépendances uniquement, utilisez :

yum update libuser

Atténuation du risque

À cause de la façon dont « libuser » fonctionne, seuls les utilisateurs possédant des comptes listés dans « /etc/passwd » peuvent exploiter ces vulnérabilités, et l'utilisateur doit fournir le mot de passe du compte en question pour pouvoir attaquer. Ces exigences impliquent que toute exploitation de ces vulnérabilités à partir de comptes listés dans LDAP (ou une autre source de données NSS), ou par des comptes de système sans mot de passe valide, n'est pas possible.

Sur les systèmes où la mise à jour de « libuser » n'est pas possible, les administrateurs de système peuvent ajouter des règles « pam_warn » et « pam_deny » aux deux fichiers, « / etc/pam.d/chfn » et « / etc/pam.d/chsh » pour empêcher les utilisateurs sans privilège root d'utiliser les services vulnérables. Avec ces modifications, les fichiers doivent contenir :

#%PAM-1.0
auth       sufficient   pam_rootok.so
auth required pam_warn.so
auth required pam_deny.so
auth       include      system-auth
account    include      system-auth
password   include      system-auth
session    include      system-auth

Par la suite, les tentatives d'utiliser « chfn » et « chsh » (et les fonctionnalités respectives dans le programme « userhelper ») effectuées par des utilisateurs non privilégiés échoueront et seront enregistrées (par défaut dans « / var/log/secure »).

Comments