CERTFR-2014-ALE-006 : Vulnérabilité dans GNU bash

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

1 – Risque(s)

  • exécution de code arbitraire à distance

2 – Systèmes affecté(s)

  • Bash versions antérieures au 25 septembre 2014
  • GNU Bash 3.0 versions antérieures à 3.0.17
  • GNU Bash 3.1 versions antérieures à 3.1.18
  • GNU Bash 3.2 versions antérieures à 3.2.52
  • GNU Bash 4.0 versions antérieures à 4.0.39
  • GNU Bash 4.1 versions antérieures à 4.1.12
  • GNU Bash 4.2 versions antérieures à 4.2.48
  • GNU Bash 4.3 versions antérieures à 4.3.25
  • Bash Debian Squeeze versions antérieures à 4.1-3+deb6u2
  • Bash Debian Wheezy versions antérieures à 4.2+dfsg-0.1+deb7u3
  • Bash Ubuntu 14.04 LTS versions antérieures à 4.3-7ubuntu1.3
  • Bash Ubuntu 12.04 LTS versions antérieures à 4.2-2ubuntu2.3
  • Bash Ubuntu 10.04 LTS versions antérieures à 4.1-2ubuntu3.2
  • Bash Red Hat Enterprise Linux 7 versions antérieures à bash-4.2.45-5.el7_0.4
  • Bash Red Hat Enterprise Linux 6 versions antérieures à bash-4.1.2-15.el6_5.2, bash-4.1.2-15.el6_5.1.sjis.1, bash-4.1.2-9.el6_2.1, bash-4.1.2-15.el6_4.1
  • Bash Red Hat Enterprise Linux 5 versions antérieures à bash-3.2-33.el5_11.4, bash-3.2-33.el5_11.1.sjis.1, bash-3.2-24.el5_6.1, bash-3.2-32.el5_9.2
  • Bash Red Hat Enterprise Linux 4 versions antérieures à bash-3.0-27.el4.2

3 – Résumé

Une vulnérabilité a été découverte dans GNU bash. Elle permet à un attaquant de provoquer une exécution de code arbitraire à distance.

4 – Contournement provisoire

La vulnérabilité CVE-2014-6271 consiste en une injection de commande suivant la définition d’une fonction dans une variable d’environnement. Dans certains cas, un processus peut hériter de variables d’environnement provenant d’une machine distante, ce qui rend cette vulnérabilité exploitable à distance. C’est notamment le cas de serveurs Web employant des scripts bash comme CGI-bin, de certains serveurs SSH et des clients DHCP.

Il est possible de vérifier si la version de bash est vulnérable avec la commande:

$ env VAR='() { 0; }; echo danger' bash -c "echo bonjour"

A l’heure actuelle, certains correctifs sont incomplets en raison d’une vulnérabilité résiduelle (CVE-2014-7169). Néanmoins le CERT-FR recommande d’appliquer les correctifs pour réduire la facilité d’exploitation. Les derniers correctifs des distributions Debian, Ubuntu et RedHat corrigent aussi CVE-2014-7169.

Dans le cadre spécifique de services Web vulnérables, le CERT-FR recommande de filtrer les en-têtes HTTP commençant par les quatre caractères '() {' par le biais du module Apache mod_security ou d’un pare-feu applicatif du même type.

5 – Documentation

Gestion détaillée du document

25 septembre 2014
version initiale.
26 septembre 2014
mise à jour.
29 septembre 2014
mise à jour.
30 septembre 2014
mise à jour.
Dernière version de ce document : http://cert.ssi.gouv.fr/site/CERTFR-2014-ALE-006

 

CERT-FR
2014-09-30

http://www.cert.ssi.gouv.fr/site/CERTFR-2014-ALE-006/CERTFR-2014-ALE-006.html