PROJET AUTOBLOG


Shaarli - Les discussions de Shaarli

Archivé

Site original : Shaarli - Les discussions de Shaarli du 23/07/2013

⇐ retour index

​'Bigger than Heartbleed': Bash bug could leave IT systems in shellshock - CNET

jeudi 25 septembre 2014 à 09:04
SharTech, le 25/09/2014 à 09:04
Il va falloir patcher sous Linux et Mac OS on dirait.
Une menace plus grande qu'Heartbleed, ça fout un peu les jetons quand même...
Je cherche d'autres infos là dessus.
(Permalink)

Httqm > SharTech, le 25/09/2014 à 10:00
L'article linké est très alarmiste mais m'a laissé sur ma faim : c'est quoi ? comment ça marche ? suis-je vulnérable ?

Pour tester si le shell est vulnérable, il suffit de lancer :

env x='() { :;}; echo "You are VULNERABLE"' bash -c "echo 'Don t panic : this is a test'"

Ce que ça fait :
- on définit une nouvelle variable d'environnement 'x' qui contient une fonction anynome qui ne fait rien
- la définition de la variable d'environnement DEVRAIT s'arrêter à la fin de la définition de la fonction. Mais, là est le bug, le bout de code qui vient après est enregistré dans la variable d'environnement : echo "you are vulnerable". Ca pourrait être n'importe quoi de pas amical du tout tel que l'effacement de fichiers (on peut faire des tas d'autres trucs amusants, mais je ne veux pas donner de mauvaises idées)
- le code malveillant attend son heure
- au prochain lancement de Bash (ouverture d'une console, login d'un utilisateur, ...), le code malveillant est exécuté. C'est ce qui est simulé par le "bash -c ..."

Si ça affiche "You are VULNERABLE", il suffira (sous Debian), d'un petit apt-get update + apt-get upgrade et c'est réglé. Au lancement suivant de la ligne ci-dessus, ça dira :

bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
Don t panic : this is a test

Détails sur le bug : https://securityblog.redhat.com/2014/09/24/bash-specially-crafted-environment-variables-code-injection-attack/

EDIT : je viens de tomber sur la page http://arstechnica.com/security/2014/09/bug-in-bash-shell-creates-big-security-hole-on-anything-with-nix-in-it/ qui (heureusement) confirme ce que je viens de raconter ;-)

EDIT 2 : détails sur la vulnérabilité : http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-6271
Etant donné que le code malveillant est lancé avec les droits de l'utilisateur qui lance Bash, si c'est un utilisateur standard, c'est pas forcément un drame. Mais si c'est "root"...

EDIT 3 : autre façon de reproduire le bug :
export x='() { :;}; echo "You are VULNERABLE"'
puis
bash
pour lancer un nouvel shell, qui va hériter de l'environnement du 1er. Ceci va afficher "You are VULNERABLE".
NB :
- l'environnement ne se transmet qu'aux processus enfants
- l'environnement est personnel à l'utilisateur
(Permalink)

Ecirtam > Httqm, le 25/09/2014 à 10:34
Eeeet merde
http://arstechnica.com/security/2014/09/bug-in-bash-shell-creates-big-security-hole-on-anything-with-nix-in-it/
http://www.cnet.com/news/bigger-than-heartbleed-bash-bug-could-leave-it-systems-shellshocked/
http://thehackernews.com/2014/09/bash-shell-vulnerability-shellshock.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+TheHackersNews+%28The+Hackers+News+-+Security+Blog%29

Message de http://shaarli.callmematthi.eu/?dL5XSQ :
"
Pour tester si le shell est vulnérable, il suffit de lancer :

env x='() { :;}; echo "You are VULNERABLE"' bash -c "echo 'Don t panic : this is a test'"

Ce que ça fait :
- on définit une nouvelle variable d'environnement 'x' qui contient une fonction anynome qui ne fait rien
- la définition de la variable d'environnement DEVRAIT s'arrêter à la fin de la définition de la fonction. Mais, là est le bug, le bout de code qui vient après est enregistré dans la variable d'environnement : echo "you are vulnerable". Ca pourrait être n'importe quoi de pas amical du tout tel que l'effacement de fichiers (on peut faire des tas d'autres trucs amusants, mais je ne veux pas donner de mauvaises idées)
- le code malveillant attend son heure
- au prochain lancement de Bash (ouverture d'une console, login d'un utilisateur, ...), le code malveillant est exécuté. C'est ce qui est simulé par le "bash -c ..."

Si ça affiche "You are VULNERABLE", il suffira (sous Debian), d'un petit apt-get update + apt-get upgrade et c'est réglé. Au lancement suivant de la ligne ci-dessus, ça dira :

bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
Don t panic : this is a test
"
(Permalink)

Riff > Httqm, le 25/09/2014 à 11:42
C'est pour des trucs comme ça que j'aime Arch/Manjaro : J'ai lu ce shaare à 9h30, à 10h, Octopi me notifie qu'il y à une mise à jour disponible pour bash. Classe...
(Permalink)

nW44b > Ecirtam, le 29/09/2014 à 10:16
Une petite vulgarisation de la faille shellshock.
Merci Oros.
(Permalink)