(modifié le 4 novembre 2014 à 19:47)

Nouvelle faille à patcher d'urgence mise en lumière il y a quelques jours, le 29 octobre 2014. Son nom : CVE-2014-4877.

wget-cve-2014-4877

Cette faille touche l'utilitaire wget, très largement utilisé dans le monde Linux/Unix, mais aussi souvent porté sous Windows, Mac OS, et j'en passe. De nombreux logiciels l'embarquent pour se mettre à jour automatiquement.

Comment ça marche

Voici l'annonce :

From 18b0979357ed7dc4e11d4f2b1d7e0f5932d82aa7 Mon Sep 17 00:00:00 2001
From: Darshit Shah <darnir@gmail.com>
Date: Sun, 07 Sep 2014 19:11:17 +0000
Subject: CVE-2014-4877: Arbitrary Symlink Access

Wget was susceptible to a symlink attack which could create arbitrary files, directories or symbolic links and set their permissions when retrieving a directory recursively through FTP. This commit changes the default settings in Wget such that Wget no longer creates local symbolic links, but rather traverses them and retrieves the pointed-to file in such a retrieval.

The old behaviour can be attained by passing the --retr-symlinks=no option to the Wget invokation command.

-- Thorsten Alteholz <debian@alteholz.de> Wed, 29 Oct 2014 19:00:14 +0100

Là où c'est violent c'est qu'il suffit qu'un malin configure son serveur FTP  malveillant pour exploiter la faille.

Dès lors quand vous récupérerez un fichier via wget (en mode récursif) sur ce serveur l'attaquant pourra faire tout ce qu'il veut sur votre machine, y compris en root via une porte dérobée. Le serveur FTP peut écrire ce qu'il veut sur votre disque via un lien symbolique. Si votre wget est vulnérable : crontab mais aussi script .bashrc pour ouvrir discrètement la porte :

L'exploit est disponible sur metasploit (lien direct)

Quelles versions de wget  ?

Le correctif est présent depuis la version 1.16 de wget, les versions inférieures sont naturellement impactées. Faites vos mises à jour sans tarder.

Pour Debian like :

apt-get install wget --only-upgrade

Pour CentOS / Redhat like :

yum update wget

Pour connaître la version de votre package :

wget --version

Même si vous ne pensez pas utiliser wget, rien ne vous dit qu'un script sur votre machine ne le fait pas. Couplé à un dns spoofing ou à un domaine expiré, ça peut faire mal. Pas d'excuse, patchez !

Merci @pyrou pour l'info

Auteur : Mr Xhark

Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter