Pour vérifier la présence de la vulnérabilité CVE-2014-6271
env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
il ne devrait PAS renvoyer le mot "vulnérable".
Pour vérifier la présence de la vulnérabilité CVE-2014-7169
(attention : si le vôtre échoue, il créera ou écrasera un fichier appelé /tmp/echo
que vous pouvez supprimer après, et que vous devez supprimer avant de tester à nouveau )
cd /tmp; env X='() { (a)=>\' bash -c "echo date"; cat echo
il devrait dire le mot date puis se plaindre avec un message du genre cat: echo: No such file or directory
. Si, au contraire, il vous indique l'heure actuelle, votre système est vulnérable.
Pour vérifier le CVE-2014-7186
bash -c 'true <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF' || echo "CVE-2014-7186 vulnerable, redir_stack"
il ne devrait PAS renvoyer le texte CVE-2014-7186 vulnerable, redir_stack
.
Pour vérifier le CVE-2014-7187
(for x in {1..200} ; do echo "for x$x in ; do :"; done; for x in {1..200} ; do echo done ; done) | bash || echo "CVE-2014-7187 vulnerable, word_lineno"
il ne devrait PAS renvoyer le texte CVE-2014-7187 vulnerable, word_lineno
.
Pour vérifier le CVE-2014-6277. Je ne suis pas sûr à 100% sur celui-ci car il semble s'appuyer sur un système partiellement patché auquel je n'ai plus accès.
env HTTP_COOKIE="() { x() { _; }; x() { _; } <<`perl -e '{print "A"x1000}'`; }" bash -c "echo testing CVE-2014-6277"
Un résultat positif sur celui-ci est qu'il ne fait que renvoyer le texte. testing CVE-2014-6277
. S'il exécute perl ou s'il se plaint que perl n'est pas installé, c'est définitivement un échec. Je ne suis pas sûr des autres caractéristiques d'échec car je n'ai plus de systèmes non corrigés.
Pour vérifier le CVE-2014-6278. Encore une fois, je ne suis pas sûr à 100% de ce test car je n'ai plus de systèmes non patchés.
env HTTP_COOKIE='() { _; } >_[$($())] { echo hi mom; id; }' bash -c "echo testing CVE-2014-6278"
Un succès pour ce test est qu'il devrait SEULEMENT renvoyer le texte testing CVE-2014-6278
. Si la vôtre fait écho hi mom
n'importe où, c'est définitivement un échec.
0 votes
Voir Existe-t-il une commande courte pour tester si mon serveur est protégé contre le bug shellshock bash ?
0 votes
Veuillez noter qu'il existe deux autres vulnérabilités dans bash qui ne sont toujours pas corrigées (CVE-2014-7186 et CVE-2014-7187).
0 votes
Les correctifs qui corrigent CVE-2014-7186 et CVE-2014-7187 sont disponibles peu de temps après que Deer Hunter ait posté son commentaire. Si vous disposez d'un correctif fourni par la distribution pour CVE-2014-7169, il se peut que vous en ayez déjà assez pour bloquer 7186/7187. Testez votre système avec les commandes ci-dessous et voyez. Vérifiez également s'il existe d'autres mises à jour de sécurité pour votre distribution.