L'équipe Vigil@nce veille les vulnérabilités publiques qui affectent votre parc informatique, puis propose des correctifs sécurité, une base et des outils pour y remédier.

vulnérabilité cybersécurité de bash : exécution de code via Environnement Variable, ShellShock - CVE-2014-6271

Synthèse de la vulnérabilité

Un attaquant peut définir une variable d'environnement spéciale, qui est passée à bash (via CGI ou OpenSSH par exemple), afin d'exécuter du code.
Gravité de ce bulletin : 4/4.
Date création : 24/09/2014.
Références de cette menace : 1141597, 193355, 193866, 194029, 194064, 194669, 480931, c04475942, c04479492, CERTFR-2014-ALE-006, CERTFR-2014-AVI-403, CERTFR-2014-AVI-415, CERTFR-2014-AVI-480, cisco-sa-20140926-bash, CTX200217, CTX200223, CVE-2014-6271, DSA-3032-1, ESA-2014-111, ESA-2014-123, ESA-2014-124, ESA-2014-125, ESA-2014-126, ESA-2014-127, ESA-2014-128, ESA-2014-133, ESA-2014-136, ESA-2014-150, ESA-2014-151, ESA-2014-152, ESA-2014-162, FEDORA-2014-11360, FEDORA-2014-11503, FG-IR-14-030, HPSBGN03138, HPSBMU03144, JSA10648, JSA10661, MDVSA-2014:186, MDVSA-2015:164, openSUSE-SU-2014:1226-1, openSUSE-SU-2014:1238-1, openSUSE-SU-2014:1308-1, openSUSE-SU-2014:1310-1, pfSense-SA-14_18.packages, RHSA-2014:1293-01, RHSA-2014:1294-01, RHSA-2014:1295-01, RHSA-2014:1354-01, SB10085, ShellShock, sk102673, SOL15629, SSA:2014-267-01, SSA-860967, SUSE-SU-2014:1212-1, SUSE-SU-2014:1213-1, SUSE-SU-2014:1214-1, SUSE-SU-2014:1223-1, T1021272, USN-2362-1, VIGILANCE-VUL-15399, VMSA-2014-0010, VMSA-2014-0010.10, VMSA-2014-0010.11, VMSA-2014-0010.12, VMSA-2014-0010.13, VMSA-2014-0010.2, VMSA-2014-0010.4, VMSA-2014-0010.7, VMSA-2014-0010.8, VMSA-2014-0010.9, VN-2014-002, VU#252743.

Description de la vulnérabilité

Lorsque l'interpréteur bash est démarré, les variables d'environnement du processus père sont transférées au processus courant. Par exemple :
  export A=test
  bash
  echo $A

Les fonctions peuvent aussi être passées via une variable d'environnement. Par exemple :
  export F='() { echo bonjour; }'
  bash
  F

Cependant, bash charge les fonctions en interprétant l'ensemble de la variable d'environnement. Si une variable d'environnement commence par "() {" et termine par "; commande", alors la commande est exécutée lors du démarrage du shell.

Les principaux vecteurs d'attaque sont :
 - les scripts CGI (Apache mod_cgi, mod_cgid) sur un serveur web (variables : HTTP_header, REMOTE_HOST, SERVER_PROTOCOL)
 - OpenSSH via AcceptEnv (variables : TERM, ForceCommand avec SSH_ORIGINAL_COMMAND)

Un attaquant peut donc définir une variable d'environnement spéciale, qui est passée à bash (via CGI ou OpenSSH par exemple), afin d'exécuter du code.
Bulletin Vigil@nce complet... (Essai gratuit)

Cette menace sécurité concerne les logiciels ou systèmes comme Arkoon FAST360, GAiA, CheckPoint IP Appliance, IPSO, SecurePlatform, CheckPoint Security Appliance, CheckPoint Smart-1, CheckPoint VSX-1, Cisco ASR, Cisco ACE, ASA, IOS XE Cisco, Cisco IPS, IronPort Encryption, Nexus par Cisco, NX-OS, Secure ACS, Cisco CUCM, Cisco Unified CCX, XenServer, Clearswift Email Gateway, Clearswift Web Gateway, Debian, Avamar, EMC CAVA, EMC CEE, EMC CEPA, Celerra FAST, Celerra NS, Celerra NX4, EMC CMDCE, Connectrix Switch, NetWorker, PowerPath, Unisphere EMC, VNX Operating Environment, VNX Series, Black Diamond, ExtremeXOS, Summit, BIG-IP Hardware, TMOS, Fedora, FortiAnalyzer, FortiAnalyzer Virtual Appliance, FortiManager, FortiManager Virtual Appliance, HP Operations, AIX, IVE OS, Junos Space, MAG Series par Juniper, NSM Central Manager, NSMXpress, Juniper SA, Juniper UAC, McAfee Email and Web Security, McAfee Email Gateway, McAfee MOVE AntiVirus, McAfee NSP, McAfee NGFW, McAfee Web Gateway, openSUSE, Solaris, pfSense, RealPresence Collaboration Server, RealPresence Distributed Media Application, Polycom VBP, RHEL, RSA Authentication Manager, ROX, RuggedSwitch, Slackware, Stonesoft NGFW/VPN, SUSE Linux Enterprise Desktop, SLES, Ubuntu, Unix (plateforme) ~ non exhaustif, ESX, vCenter Server, VMware vSphere.

Notre équipe Vigil@nce a déterminé que la gravité de cet avis de faille est critique.

Le niveau de confiance est de type confirmé par l'éditeur, avec une provenance de client internet.

Un démonstrateur ou un outil d'attaque est disponible, donc vos équipes doivent traiter cette alerte. Un attaquant avec un niveau de compétence débutant peut exploiter cet avis de vulnérabilité.

Solutions pour cette menace

bash : patch pour Environnement Variable.
Un patch est disponible :
  http://ftp.gnu.org/pub/gnu/bash/bash-3.0-patches/bash30-017
  http://ftp.gnu.org/pub/gnu/bash/bash-3.1-patches/bash31-018
  http://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/bash32-052
  http://ftp.gnu.org/pub/gnu/bash/bash-4.0-patches/bash40-039
  http://ftp.gnu.org/pub/gnu/bash/bash-4.1-patches/bash41-012
  http://ftp.gnu.org/pub/gnu/bash/bash-4.2-patches/bash42-048
  http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-025

bash : contre-mesure détectant le préfixe parenthèses accolade.
Une contre-mesure consiste à détecter le motif "() {" :
 - utiliser bash_ld_preload.c avec LD_PRELOAD (tester préalablement sur un environnement de test) :
      gcc bash_ld_preload.c -fPIC -shared -Wl,-soname,bash_ld_preload.so.1 -o bash_ld_preload.so
      cp bash_ld_preload.so /lib/
      echo "/lib/bash_ld_preload.so" >> /etc/ld.so.preload
      vi /etc/init.d/httpd # pour ajouter :
        LD_PRELOAD=/lib/bash_ld_preload.so
        export LD_PRELOAD
      redémarrer les services
 - utiliser mod_security :
      SecRule REQUEST_HEADERS "^\(\) {" "phase:1,deny,id:1000000,t:urlDecode,status:400,log,msg:'CVE-2014-6271 - Bash Attack'"
      SecRule REQUEST_LINE "\(\) {" "phase:1,deny,id:1000001,status:400,log,msg:'CVE-2014-6271 - Bash Attack'"
      SecRule ARGS_NAMES "^\(\) {" "phase:2,deny,id:1000002,t:urlDecode,t:urlDecodeUni,status:400,log,msg:'CVE-2014-6271 - Bash Attack'"
      SecRule ARGS "^\(\) {" "phase:2,deny,id:1000003,t:urlDecode,t:urlDecodeUni,status:400,log,msg:'CVE-2014-6271 - Bash Attack'"
      SecRule FILES_NAMES "^\(\) {" "phase:2,deny,id:1000004,t:urlDecode,t:urlDecodeUni,status:400,log,msg:'CVE-2014-6271 - Bash Attack'"
 - utiliser iptables :
      iptables using -m string --hex-string '|28 29 20 7B|'

bash : contre-mesure ajoutant le préfixe BASH_FUNC_.
Une contre-mesure consiste à recompiler bash pour préfixer le nom des variables d'environnement contenant une fonction par "BASH_FUNC_".

AIX Toolbox for Linux : solution pour bash.
La solution est indiquée dans les sources d'information.

Arkoon Fast360 : solution pour bash.
Une mise à jour sera bientôt disponible.

Check Point : solution pour bash.
La solution est indiquée dans les sources d'information.

Cisco : solution pour bash.
La solution est indiquée dans les sources d'information.

Citrix : solution pour bash.
La solution est indiquée dans les sources d'information.

Clearswift SECURE Email Gateway : version 3.8.3.
La version 3.8.3 est corrigée :
  http://www.clearswift.net/

Clearswift SECURE Web Gateway : version 3.2.3.
La version 3.2.3 est corrigée :
  http://www.clearswift.net/

Debian : nouveaux paquetages bash.
De nouveaux paquetages sont disponibles :
  Debian 7 : bash 4.2+dfsg-0.1+deb7u1

EMC : solution pour bash.
La solution est indiquée dans les sources d'information.

EMC Unisphere : solution pour bash.
La solution est indiquée dans les sources d'information.

Extreme Networks : solution pour bash.
La solution est indiquée dans les sources d'information.

F5 BIG-IP : solution pour bash.
La solution est indiquée dans les sources d'information.

Fedora : nouveaux paquetages bash.
De nouveaux paquetages sont disponibles :
  Fedora 19 : bash 4.2.47-2.fc19
  Fedora 20 : bash 4.2.47-4.fc20

Fortinet : solution pour bash.
La solution est indiquée dans les sources d'information.

HP Operation Agent Virtual Appliance : patch pour Bash.
Un patch est disponible :
  https://softwaresupport.hp.com/group/softwaresupport/search-result/-/facetsearch/document/KM01206384

HP Operations Analytics : patch pour Bash.
Un patch est disponible :
  https://softwaresupport.hp.com/group/softwaresupport/search-result/-/facetsearch/document/KM01198565

Juniper NSM : upgrade package v3.
Un patch est disponible :
  https://webdownload.juniper.net/swdl/dl/secure/site/1/record/56122.html
  https://webdownload.juniper.net/swdl/dl/secure/site/1/record/56123.html

Juniper : solution pour bash.
La solution est indiquée dans les sources d'information.

Mandriva BS2 : nouveaux paquetages bash.
De nouveaux paquetages sont disponibles :
  Mandriva BS2 : bash 4.2-53.1.mbs2

Mandriva : nouveaux paquetages bash.
De nouveaux paquetages sont disponibles :
  Mandriva BS1 : bash 4.2-6.2.mbs1

McAfee : solution pour bash.
La solution est indiquée dans les sources d'information.

openSUSE 12.3 : nouveaux paquetages bash.
De nouveaux paquetages sont disponibles :
  openSUSE 12.3 : bash 4.2-61.19.1
Ce paquet remplace ceux mentionnées dans les bulletins VIGILANCE-SOL-36803 et VIGILANCE-SOL-36804.

openSUSE 13.1 : nouveaux paquetages bash.
De nouveaux paquetages sont disponibles :
  openSUSE 13.1 : bash 4.2-68.12.1
Ce paquet remplace ceux mentionnées dans les bulletins VIGILANCE-SOL-36803 et VIGILANCE-SOL-36804.

openSUSE : nouveaux paquetages bash.
De nouveaux paquetages sont disponibles :
  openSUSE 11.4 : bash 4.1-20.31.1
  openSUSE 12.3 : bash 4.2-61.9.1
  openSUSE 13.1 : bash 4.2-68.4.1

pfSense : nouveaux paquetages bash.
De nouveaux paquetages sont disponibles, comme indiqué dans les sources d'informations.

Polycom : solution pour bash.
La solution est indiquée dans les sources d'information.

RHEL : nouveaux paquetages bash.
De nouveaux paquetages sont disponibles :
  RHEL 4 : bash 3.0-27.el4.2
  RHEL 5 : bash 3.2-33.el5.1
  RHEL 6 : bash 4.1.2-15.el6_5.1
  RHEL 7 : bash 4.2.45-5.el7_0.2

RHEV-M 3.4 : nouveaux paquetages rhev-hypervisor6.
De nouveaux paquetages sont disponibles :
  RHEL 6 : rhev-hypervisor6 6.5-20140930.1.el6ev

RSA Authentication Manager : solution pour bash.
La solution est indiquée dans les sources d'information.

Siemens ROX : solution pour bash.
La solution est indiquée dans les sources d'information.

Slackware : nouveaux paquetages bash.
De nouveaux paquetages sont disponibles :
  Slackware 13.0 : bash 3.1.018-i486-1_slack13.0
  Slackware 13.1 : bash 4.1.012-i486-1_slack13.1
  Slackware 13.37 : bash 4.1.012-i486-1_slack13.37
  Slackware 14.0 : bash 4.2.048-i486-1_slack14.0
  Slackware 14.1 : bash 4.2.048-i486-1_slack14.1

Solaris : patch pour bash.
Un patch est disponible :
  https://support.oracle.com/rs?type=doc&id=1930090.1
Un patch est disponible :
  Solaris 11.2 : version 11.2.2.8.0
  Solaris 10 :
    SPARC: 126546-07
    X86: 126547-07
  Solaris 9
    SPARC: 149079-03
    X86: 149080-02

SUSE LE 10 SP3 : nouveaux paquetages bash.
De nouveaux paquetages sont disponibles :
  SUSE LE 10 : bash 3.1-24.32.1

SUSE LE : nouveaux paquetages bash.
De nouveaux paquetages sont disponibles :
  SUSE LE 10 : bash 3.1-24.32.1
  SUSE LE 11 : bash 3.2-147.20.1
  SUSE LE 11 SP1 : bash 3.2-147.14.20.1

SUSE Manager 1.7 for SLE 11 SP2 : nouveaux paquetages bash.
De nouveaux paquetages sont disponibles :
  - SUSE Manager 1.7 for SLE 11 SP2 : bash 3.2-147.14.20.1

Ubuntu : nouveaux paquetages bash.
De nouveaux paquetages sont disponibles :
  Ubuntu 14.04 LTS : bash 4.3-7ubuntu1.1
  Ubuntu 12.04 LTS : bash 4.2-2ubuntu2.2
  Ubuntu 10.04 LTS : bash 4.1-2ubuntu3.1

VMware : solution pour bash.
La solution est indiquée dans les sources d'information.

Wind River Linux : nouveaux paquetages bash.
De nouveaux paquetages sont disponibles :
  https://support.windriver.com/olsPortal/faces/maintenance/downloadDetails.jspx?contentId=044289
Bulletin Vigil@nce complet... (Essai gratuit)

Service de veille sur les vulnérabilités informatiques

Vigil@nce fournit une annonce de vulnérabilités de systèmes. La cellule de veille technologique suit les menaces sécurité qui ciblent le parc informatique.