Jetpack 4.0.3 corrige une faille de sécurité critique nommée Stored XSS. Elle permet à un utilisateur d’insérer un shortcode contenant des attributs HTML normalement interdits.
La vulnérabilité
Selon Sam Hotchkiss, membre de l’équipe de développement Jetpack, cette vulnérabilité XSS se trouve dans le fonctionnement des shortcodes que ce plugin ajoute. Un attaquant peut facilement ajouter du code JavaScript dans les commentaires pour pirater le navigateur du visiteur.
La vulnérabilité a bien sûr été corrigée, notez cependant que toutes les versions entre Jetpack 2.0 datant de novembre 2012 et inférieure à 4.0.3 sont touchée !
Il n’y a aujourd’hui aucun moyen de savoir si des sites ont déjà été victimes de cette faille, mais ce n’est qu’une question de temps maintenant que c’est divulgué.
La technique
Si la technique vous intéresse, voici le code qui crée cette faille (sans les commentaires de code) :
[pastacode lang=”php” message=”” highlight=”” provider=”manual” manual=”function%20vimeo_link(%20%24content%20)%20%7B%0A%09%24shortcode%20%3D%20%22(%3F%3A%5C%5Bvimeo%5Cs%2B%5B%5E0-9%5D*)(%5B0-9%5D%2B)(%3F%3A%5C%5D)%22%3B%0A%0A%09%24plain_url%20%3D%20%22(%3F%3A%5B%5E’%5C%22%3E%5D%3F%5C%2F%3F(%3F%3Ahttps%3F%3A%5C%2F%5C%2F)%3Fvimeo%5C.com%5B%5E0-9%5D%2B)(%5B0-9%5D%2B)(%3F%3A%5B%5E’%5C%220-9%3C%5D%7C%24)%22%3B%0A%0A%09return%20preg_replace_callback(%0A%09%09%09sprintf(%20’%23%25s%7C%25s%23i’%2C%20%24shortcode%2C%20%24plain_url%20)%2C%0A%09%09%09’vimeo_link_callback’%2C%0A%09%09%24content%0A%09)%3B%0A%7D”/]
Le correctif a ajouté une nouvelle fonction de callback qui filtre maintenant correctement, et jusqu’à preuve du contraire, les tags HTML qui ont permis cette faille.
Tenez vous à jour le plus vite possible.