Le Bash, shell le plus couramment utilisé dans les distributions Linux et sous Unix, est victime d’une importante faille de sécurité qui peut être exploitée à distance. Si elle peut avoir la même portée que la fameuse brèche HeartBleed, elle n’en a pour autant pas la même dangerosité, et des correctifs ont déjà été déployés.
Qu’est-ce que le Bash ? Signifiant « Bourne-Again shell », il est une évolution du premier Bourne Shell, auquel il apporte des améliorations. Il est le shell par défaut d’un grand nombre de systèmes, c’est-à-dire l’interface par laquelle on peut piloter diverses opérations par des lignes de commande. Cet interpréteur se retrouve ainsi au cœur de distributions Linux très connues telles que Debian, Ubuntu et Red Hat, mais également dans des systèmes Unix et OS X.
C’est cette importante présence dans l’univers de l’open source qui rend la nouvelle faille dangereuse. Elle a été découverte par un Français, Stéphane Chazelas, et affecte pratiquement toutes les versions de Bash, de la 1.14 à 4.3 et permet à l’attaquant de réaliser une exploitation à distance en provoquant l’exécution de commandes arbitraires.
S’il y a de fortes chances pour qu’une immense majorité de serveurs soit concernée par cette faille, elle reste moins dangereuse que HeartBleed. Elle réside dans la manière dont Bash interprète les variables d’environnement et peut être utilisée dans une grande variété de contextes : une requête depuis le web, depuis une application exécutant des scripts Bash, des sessions Telnet et ainsi de suite. Le facteur limitant la dangerosité de la faille est que les commandes effectuées ne peuvent pas avoir plus de privilèges que l’utilisateur actif n’en a lui-même.
The Hackers News propose deux lignes de commande à taper dans le terminal d’un système d’exploitation concerné pour vérifier si la faille peut être exploitée :
- env X="() { :;} ; echo shellshock" /bin/sh -c "echo completed"
- env X="() { :;} ; echo shellshock" `which bash` -c "echo completed"
En cas de faille présente, le shell affichera coup sur coup « shellshock » et « completed ». Ce qui permet de vérifier par exemple qu’un Mac totalement à jour sous Mavericks 10.9.5 est bien vulnérable.
Un nombre croissant d’éditeurs a déjà publié des patchs de sécurité et les mises à jour sont disponibles dans les dépôts. Leur installation rapide est évidemment recommandée pour ne pas risquer quoi que ce soit. Debian, Ubuntu et CentOS ont ainsi communiqué sur le sujet, tandis que Red Hat et Fedora disposent elles aussi d’un patch. Du côté de GitHub, on précise que plusieurs patchs ont été émis pour GitHub Enterprise.
Commentaires (219)
#1
Sachant que le patch n’est visiblement pas suffisant:https://twitter.com/taviso/status/514887394294652929
#2
mon serveur a été pingé par un PoC ce matin vers 7h30 … gaffe, les bots sont à donf
#3
Je viens de mettre à jour mon serveur dédié sous debian, merci.
#4
Quid de Android et Firefox OS qui utilisent le kernel Linux ?
#5
Donc, il faut déjà avoir accès à la machine, ou exploiter une autre faille pour pouvoir faire exécuter un bash à distance et exploiter cette vulnérabilité. Me trompe-je?
#6
Je viens d’effectuer le test sur différents systèmes : la faille n’est plus présente sur les systèmes Ubuntu 14.04 et CentOS 6.5 tenus à jour, mais persiste sur un système CentOS 5.8.
#7
#8
Manjaro mise à jour ce midi, le problème semble réglé, tous les tests que j’ai effectués sont négatifs.
#9
Test a l’instant sur Ubuntu 14.04
:$ env X=“() { :;} ; echo shellshock” /bin/sh -c “echo completed”
completed
:$ env X=“() { :;} ; echo shellshock”
which bash
-c “echo completed” shellshock
completed
#10
#11
Y’a quelqu’un de courageux pour expliquer la faille avec des mots simple " /> ?
#12
Et puis sur Debian, par défaut /bin/sh c’est le dash:
$ env X=“() { :;} ; echo shellshock” /bin/sh -c “echo completed”
completed
#13
#14
C’est pour ça que j’ai eu une mise à jour de mon Bash sur ma station de travail sous Mint 17 hier soir avant d’aller me coucher !
Bon, j’ai le Mint Debian à mettre à jour sur mon portable, tant que j’y pense… À suivre !
#15
#16
#17
#18
#19
#20
#21
Ah, c’était ça les unattended upgrades de ce matin.
#22
A titre d’information (pour ceux qui veulent des détails un peu technique et qui parlent anglais), Robert Graham a écrit 3 articles sur le ShellShock :
http://blog.erratasec.com/2014/09/bash-bug-as-big-as-heartbleed.html#.VCP8l1ffhG…
http://blog.erratasec.com/2014/09/bash-shellshock-scan-of-internet.html#.VCP8m1f…
http://blog.erratasec.com/2014/09/bash-shellshock-bug-is-wormable.html#.VCP8m1ff…
Et apparemment des gens utilisent masscan pour déposer des malwares vers les serveurs vulnérables…
#23
Apparemment pas touché sur Mageia :
\( env X="() { :;} ; echo shellshock" /bin/sh -c "echo completed"
/bin/sh: avertissement :X: ignoring function definition attempt
/bin/sh: erreur lors de l'import de la définition de fonction pour « X »
completed
\) env X=“() { :;} ; echo shellshock”
which bash
-c “echo completed”/usr/bin/bash: avertissement :X: ignoring function definition attempt
/usr/bin/bash: erreur lors de l’import de la définition de fonction pour « X »
completed
#24
#25
" /> Vincent à un MacBook Air. " />
#26
#27
Bash, c’est un truc de jeunes, ça.
ksh > bash
" />
#28
non rien…
#29
#30
#31
#32
#33
#34
Merci pour l’info, mon dédié a la faille, j’ai fait une mise à jour.
#35
#36
#37
Et concernant Openwrt grave ou pas ? Parce que j’ai aussi un routeur sous Openwrt moi…
#38
#39
#40
Ça tombe bien j’ai mis mes Linux à jours hier. " />
#41
#42
#43
Sans doute une des plus importantes failles avec HeartBleed ces derniers temps. Heureusement les failles découvertes sont toujours en full disclosure, et les patches sont disponibles en moins de 48h.
Plus qu’à mettre à jour mes machines " />
#44
on la refait avec des retours chariot " />
en gros, le programme bash (qui est un peu la base de tout système linux, et est utilisé par quasiment tous les autres programmes) se foire quand on lui envoie une commande spécialement écrite pour.
c’est utilisable via le web : quand tu accèdes à un site, ton navigateur dit “je suis X, je veux voir la page Y”, le serveur web passe l’info au bash “ya X qui veut voir Y, envoie moi la page”.
l’attaque ferait “je suis X, je veux voir Y, et en passant efface tout le disque” et le bash execute toute la commande sans verification
#45
On peut même plus troller gentiment." />
En plus j’ai même plus de windows à la maison…je suis full linux (mint et openelec)." />
#46
#47
#48
#49
#50
#51
#52
Linuxmint patché ce matin, faille absente.
#53
#54
#55
#56
#57
#58
#59
#60
#61
#62
selon les premières analyses 1⁄50 webserveurs est vulnérable…
#63
#64
c’est beau de voir dans la même news qu’une faille a été découverte et deux lignes plus loin qu’elle a été patchée. Ça souligne une belle réactivité de l’écosystème quand même !
#65
Merci, mis à jour. " />
#66
#67
#68
#69
#70
#71
Et pour ceux qui voudrai savoir comment combler la faille en attendant un patch officiel de la part d’Apple :http://apple.stackexchange.com/questions/146849/how-do-i-recompile-bash-to-avoid…
#72
#73
#74
#75
#76
toto@ubusonde:$ env X=“() { :;} ; echo shellshock” /bin/sh -c “echo completed”
completed
toto@ubusonde:\( env X="() { :;} ; echo shellshock"
which bash
-c "echo completed"/bin/bash: avertissement : X: ignoring function definition attempt
/bin/bash: erreur lors de l'import de la définition de fonction pour « X »
completed
toto@ubusonde:~\)
mouaih …
#77
Faille de sécurité dans bash
https://forum.ubuntu-fr.org/viewtopic.php?id=1684291
#78
#79
#80
#81
#82
#83
#84
#85
#86
#87
#88
#89
On vérifie ses mises à jour en vitesse
Et on éclate de rire chez certains?
Mais non, c’est pour plaisanter. " />" />
#90
#91
#92
#93
#94
#95
#96
Je viens de tenter les 2 commandes qui donnent le même résultat (opensuse 13.1).
2 messages d’erreur puis completed.
Je suppose que le problème est au moins partiellement corrigé.
#97
#98
#99
#100
#101
#102
#103
#104
Lu l’actu, fait le test (faille présente), lancé les màj, refait le test (faille corrigée).
Les gars qui maintiennent ça sont des héros " />
#105
Waouhh, c’est vraiment le néant cette news pour le coup …
On finit de lire l’article, on en apprend pas plus qu’en ayant lu le titre…
Enfin je parle concrètement sur la faille elle même.
#106
#107
#108
#109
#110
#111
#112
#113
#114
#115
#116
#117
#118
#119
#120
#121
#122
#123
Testé sur mon téléphone Galaxy SII avec la rom “CyanogenMod 11-20140801-SNAPSHOT-M9-i9100” (Android Kitkat 4.4.4) avec le programme terminal emulator :
env x=‘() { :;}; echo vulnerable’ bash -c “echo this is a test”
vulnerable
this is a test
Mon téléphone est vulnérable
Au passage, il n’y a pas que les les système Unix qui sont vulnérable mais aussi les système Windows sur lesquels sont installé Cygwin (environnement de type Unix pour Windows). J’ai testé la faille sur un de nos serveurs Windows au boulot où est installé Cygwin et le résultat est le suivant :
env x=‘() { :;}; echo vulnerable’ bash -c “echo this is a test”
vulnerable
this is a test
Windows/Cygwin = Vulnérable
#124
#125
Mis à jour !
Merci de l’info " />
#126
#127
#128
#129
#130
#131
#132
#133
#134
#135
#136
@srv:~ # pkg audit -F
Fetching vuln.xml.bz2: 100%
0 problem(s) in the installed packages found.
" />
#137
#138
Donc, pour résumer la niouze et tous les posts, cette faille a une portée limitée à un certain nombre de serveurs qui déjà ne sont pas maintenus à jour et qui exploitent un ensemble bien particulier de services, de plus mal configurés d’un point de vue sécurité, la faille elle-même n’étant pas suffisante à elle seule pour permettre de compromettre une machine. Donc pas de quoi s’inquiéter pour Mme Michu qui fait un peu de firefox / thunderbird / chrome / gimp / clementine avec son Linuxmint…
#139
#140
#141
#142
#143
#144
#145
#146
#147
#148
#149
#150
#151
#152
#153
#154
#155
Je viens de mettre à jour mon netbook sous Linux Mint 17, faille corrigée.
#156
#157
#158
#159
#160
#161
#162
" /> Serveur Intranet mis à jours merci NextInpact " />
#163
#164
Pour chrooter un apache, il y a plus simple et plus facile à maintenir tout en étant aussi efficace. Pour cela, il suffit d’utiliser le module mod_security2 ==>https://www.modsecurity.org/
Avec mod_security2, la mise en place du chroot se fait en une seule ligne dans le fichier de configuration de Apache avec la directive :
SecChrootDir /repertoire/a/chrooter
#165
#166
#167
#168
#169
#170
Bon, j’ai fait le test sur ma station de travail :
olivier@olivier-H67MA-D2H-B3 ~ \( env X="() { :;} ; echo shellshock" /bin/sh -c "echo completed"
completed
olivier@olivier-H67MA-D2H-B3 ~ \) env X=“() { :;} ; echo shellshock”
which bash
-c “echo completed”/bin/bash: avertissement : X: ignoring function definition attempt
/bin/bash: erreur lors de l’import de la définition de fonction pour « X »
completed
En clair, mise à jour faite et opérationnelle. Merci Mint !
" />" />" />" />" />
#171
#172
#173
#174
Bon bein moi je vais installer Beos " />
#175
Pour tous ceux qui se demandent ce qu’on peut réellement faire de méchant avec cette vulnérabilité essayez de taper cette commande, et vous comprendrez :
env LC_FB=‘() { :;}; :(){ :|:& };:’ ssh some_user@some_system
(pour ceux qui ne l’aurez pas remarqué c’est une fork bomb)
#176
#177
#178
#179
#180
sur la Debian testing (jessie, 8) : bash est mis à jour ce jour.
#181
#182
C’est bien, ça change de voir une faille sur linux. Il faut pas que les gens se croient trop à l’abri…
#183
#184
Passez sur Windows les gars " />
#185
#186
#187
Sur ma Debian Sid :
% env X=“() { :;} ; echo shellshock” bash -c “echo completed”
bash: avertissement :X: ignoring function definition attempt
bash: erreur lors de l’import de la définition de fonction pour « X »
completed
Par contre :
env X=‘() { (a)=>\’ bash -c “echo date”; cat echo
bash: X: ligne 1: erreur de syntaxe près du symbole inattendu « = »
bash: X: ligne 1: `’
bash: erreur lors de l’import de la définition de fonction pour « X »
vendredi 26 septembre 2014, 00:01:16 (UTC+0200)
#188
#189
RAS sous HP-UX " />
#190
#191
Une nouvelle mise à jour de bash sous Ubuntu ce matin.
#192
Si elle peut avoir la même portée que la fameuse brèche HeartBleed, elle n’en a pour autant pas la même dangerosité
.
Moui. Entre avoir accès à la lecture des derniers blocs en mémoire, et avoir un shell en direct sur la machine, niveau dangerosité…
Je trouve l’impact potentiel largement pire que Heartbleed. Le logo en moins.
#193
#194
#195
Bon, hop pas envie de tout vérifier, une ptite modif sur le serveur Projet2501:
y a plus qu’à attendre.
#196
#197
#198
Pour les utilisateurs sous Mac OSX, comme Apple n’a toujours pas fourni de patch et même pire, communiqué à propos la faille Shellshock, je vous donne l’adresse du site (en Anglais) qui explique comment patcher bash pour supprimer la faille :
http://mac-how-to.wonderhowto.com/how-to/every-mac-is-vulnerable-shellshock-bash…
#199
#200
#201
les explications ici.
Tester sur mon serveur pas encore a jour, bien sur j’ai du ajouter un script en bash pour que ça fonctionne.
#202
" /> Mageia 4 OK
#203
#204
Faille pas encore corrigée sous Mint Debian…
#205
#206
#207
#208
#209
#210
#211
Ok, merci pour l’explication.