Vulnérabilité critique dans le module très populaire JQuery File Upload

Une prise de contrôle possible sur un grand nombre de serveurs

De quoi s’agit-il ?

Odoo CMS- Exemple d'image flottante

Larry Cashdollar (Akamai) a mis en exergue un bug dans le “plugin” de Jquery File Upload développé par Blueimp. Cette vulnérabilité serait connue et exploitée depuis au 2015 selon les estimations et permet une exécution de code arbitraire à distance [1].

En substance, un changement dans les paradigmes de traitement des fichiers .htaccess par le serveur Web Apache depuis la version 2.3.9, induit une non prise en compte des restrictions d’accès au répertoire de stockage des fichiers chargés. L’exploitation de ce bug permet le chargement et l’exécution de “webshell” dans le serveur ciblé.

Les premières analyses montrent :

Que la technique est connue et vulgarisée par plusieurs tutoriels notamment YouTube,

est triviale à mettre en œuvre sur des serveurs en php. Une preuve d’exploitation de cette vulnérabilité est disponible [2],

concerne un très grand nombre de serveurs Internet notamment WordPress. Le plugin Blueimp très utilisé et a de très nombreuses variantes (plus de 1000 fork) qui peuvent être elles aussi vulnérables [3].


Suis-je vulnérable ?

Si j’ai une version d’apache supérieure à 2.3.9 et si j’utilise une des très nombreuses variantes du module blueimp [3], alors je suis vulnérable.

S’il est compliqué de vérifier dans le code si ces modules sont utilisés, une autre méthode consiste à récupérer tous les .htaccess et vérifier si l’on a un .htaccess correspondant à un de ces modules.


Que faire ?

Le développeur (blueimp) a très rapidement produit un correctif  [4] et des éléments de configuration permettant de supprimer le bug. Pour les autres modules il faut voir au cas par cas.

[1] exploité depuis 3 ans https://www.zdnet.com/article/zero-day-in-popular-jquery-plugin-actively-exploited-for-at-least-three-years/

[2] Code d’exploitation public https://github.com/lcashdol/Exploits/tree/master/CVE-2018-9206

https://www.securityweek.com/0-day-jquery-plugin-impacts-thousands-applications

[3] Liste des très nombreux modules affectés par la vulnérabilité https://github.com/lcashdol/Exploits/blob/master/CVE-2018-9206/list_of_forks_tested.txt

[4] Mise à jour du plugin https://github.com/blueimp/jQuery-File-Upload