{"id":3004,"date":"2013-01-17T14:14:22","date_gmt":"2013-01-17T14:14:22","guid":{"rendered":"https:\/\/www.combell.com\/fr\/blog\/?p=3004"},"modified":"2015-06-03T17:04:40","modified_gmt":"2015-06-03T15:04:40","slug":"faille-de-securite-via-timthumb-sur-wordpress","status":"publish","type":"post","link":"https:\/\/www.combell.com\/fr\/blog\/faille-de-securite-via-timthumb-sur-wordpress\/","title":{"rendered":"Faille de s\u00e9curit\u00e9 via TimThumb sur WordPress"},"content":{"rendered":"<p><a title=\"TimThumb\" href=\"http:\/\/code.google.com\/p\/timthumb\/\" target=\"_blank\" rel=\"noopener\">TimThumb<\/a> est un script qui permet de redimensionner des images <em>'\u00e0 la vol\u00e9e'<\/em>. Cette forme de script de <em>'redimensionnement d\u2019image'<\/em> est tr\u00e8s populaire et TimThumb est particuli\u00e8rement en vogue dans le monde de WordPress. De tr\u00e8s nombreux th\u00e8mes WordPress utilisent de ce fait ce logiciel pour redimensionner des images.<\/p>\n<p>H\u00e9las, nous constatons qu\u2019il y a encore \u00e9norm\u00e9ment de sites WordPress dont le th\u00e8me utilise une ancienne version de TimThumb, qui contient une faille de s\u00e9curit\u00e9.<\/p>\n<h2>Faille de s\u00e9curit\u00e9<\/h2>\n<p>La faille avait d\u00e9j\u00e0 \u00e9t\u00e9 signal\u00e9e en 2011 et l\u2019auteur du script avait r\u00e9dig\u00e9 <a title=\"Blog post\" href=\"http:\/\/markmaunder.com\/2011\/08\/01\/zero-day-vulnerability-in-many-wordpress-themes\/\" target=\"_blank\" rel=\"noopener\">un billet fort complet<\/a> \u00e0 ce sujet sur son blog.<\/p>\n<p><strong><a href=\"https:\/\/www.combell.com\/fr\/blog\/files\/2013\/01\/wordpress-logo-stacked-rgb.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright  wp-image-3005\" title=\"wordpress-logo-stacked-rgb\" src=\"https:\/\/www.combell.com\/fr\/blog\/files\/2013\/01\/wordpress-logo-stacked-rgb-300x186.png\" alt=\"\" width=\"180\" height=\"112\" srcset=\"https:\/\/www.combell.com\/fr\/blog\/files\/2013\/01\/wordpress-logo-stacked-rgb-300x186.png 300w, https:\/\/www.combell.com\/fr\/blog\/files\/2013\/01\/wordpress-logo-stacked-rgb.png 499w\" sizes=\"(max-width: 180px) 100vw, 180px\" \/><\/a>Par souci de clart\u00e9 il est important de rappeler que cette faille n\u2019a aucun lien avec la s\u00e9curit\u00e9 et la stabilit\u00e9 de WordPress m\u00eame. TimThumb ne fait pas partie du c\u0153ur de WordPress. Il s\u2019agit d\u2019un script ind\u00e9pendant, qui est souvent utilis\u00e9 dans des th\u00e8mes WordPress qui sont d\u00e9velopp\u00e9s par des tiers.<\/strong><\/p>\n<p>La faille permet de facilement inclure et t\u00e9l\u00e9charger des fichiers vers le serveur et de les ex\u00e9cuter. Les hackers ont donc la possibilit\u00e9 de t\u00e9l\u00e9charger des scripts pouvant compromettre la s\u00e9curit\u00e9 de votre compte d\u2019h\u00e9bergement et susceptibles de causer d\u2019importants d\u00e9g\u00e2ts.<\/p>\n<p><!--more--><\/p>\n<h2>La cause<\/h2>\n<p>La cause de cette vuln\u00e9rabilit\u00e9 r\u00e9side dans le fait que le script prend en charge des inclusions de fichiers externes. En d\u2019autres termes, on peut non seulement traiter des images locales, mais aussi des images externes.<\/p>\n<p>L\u2019URL ci-dessous est un exemple de la mani\u00e8re dont TimThumb est normalement appel\u00e9 :<\/p>\n<p style=\"padding-left: 30px;\"><strong><a title=\"Url TimThumb\" href=\"http:\/\/www.nomdedomaine.be\/wp-content\/themes\/votre-theme\/lib\/scripts\/timthumb.php?src=http:\/\/farm9.staticflickr.com\/8204\/8211249708_14b486b010.jpg\" target=\"_blank\" rel=\"noopener\">http:\/\/www.nomdedomaine.be\/wp-content\/themes\/votre-theme\/lib\/scripts\/timthumb.php?src=http:\/\/farm9.staticflickr.com\/8204\/8211249708_14b486b010.jpg<\/a><\/strong><\/p>\n<p>Le contr\u00f4le des donn\u00e9es entrantes est assez superficiel et n\u2019est effectu\u00e9 que sur quelques parties de l\u2019URL et non sur l\u2019enti\u00e8ret\u00e9 de l\u2019URL. Le script v\u00e9rifie si le nom de domaine de l\u2019image externe se trouve dans la liste des noms sur liste blanche. Cette liste comprend entre autres les noms de domaines suivants :<\/p>\n<ul>\n<li>Flickr.com<\/li>\n<li>Picasa.com<\/li>\n<li>Img.youtube.com<\/li>\n<li>Blogger.com<\/li>\n<li>WordPress.com<\/li>\n<\/ul>\n<p>Le probl\u00e8me est qu\u2019il est tr\u00e8s facile de passer le contr\u00f4le en cr\u00e9ant une URL qui contient un de ces noms de domaines. L\u2019URL suivante est un exemple hypoth\u00e9tique d\u2019une URL pr\u00e9tendument s\u00fbre :<\/p>\n<p style=\"padding-left: 30px;\"><a title=\"Flickr\" href=\"http:\/\/flickr.com.evilsite.com\/hack.php\" target=\"_blank\" rel=\"noopener\"><strong>http:\/\/flickr.com.evilsite.com\/hack.php<\/strong><\/a><\/p>\n<h2>Abus<\/h2>\n<p>Le contenu du fichier externe (dans le cas pr\u00e9sent \u00ab hack.php \u00bb) n\u2019est pas imm\u00e9diatement ex\u00e9cut\u00e9, mais il est plac\u00e9 dans le r\u00e9pertoire cache associ\u00e9. Lorsque le fichier t\u00e9l\u00e9charg\u00e9 est une image, celle-ci est directement affich\u00e9e depuis le cache. Lorsque le fichier n\u2019est pas une image, on obtient un message d\u2019erreur indiquant l\u2019emplacement du fichier. Ce message d\u2019erreur peut ressembler \u00e0 ceci :<\/p>\n<p style=\"padding-left: 30px; font-family: Courier new, courier; background: #D8D8D8; margin-left: 15px; padding: 20px;\"><strong>Unable to open image : \/var\/www\/wp-content\/themes\/votre-theme\/lib\/scripts\/cache\/07ae62439acc0e284d9d706b55fabb36.php<\/strong><\/p>\n<p>Le fait que le script affiche publiquement l\u2019emplacement du fichier permet de tr\u00e8s facilement ex\u00e9cuter le script hack.php. Il suffit en effet d\u2019ex\u00e9cuter l\u2019URL ci-dessous pour pouvoir pirater le compte.<\/p>\n<p style=\"padding-left: 30px;\"><strong><a title=\"hack.php\" href=\"http:\/\/www.nomdedomaine.be\/wp-content\/themes\/votre-theme\/lib\/scripts\/cache\/07ae62439acc0e284d9d706b55fabb36.php\" target=\"_blank\" rel=\"noopener\">http:\/\/www.nomdedomaine.be\/wp-content\/themes\/votre-theme\/lib\/scripts\/cache\/07ae62439acc0e284d9d706b55fabb36.php<\/a><\/strong><\/p>\n<h2>Cons\u00e9quences<\/h2>\n<p>Les cons\u00e9quences de cette faille peuvent \u00eatre consid\u00e9rables. En t\u00e9l\u00e9chargeant des scripts PHP, les hackers peuvent ais\u00e9ment prendre le contr\u00f4le et lire et modifier vos fichiers. La s\u00e9curit\u00e9 de la base de donn\u00e9es sous-jacente est elle aussi compromise, puisque les donn\u00e9es de la base de donn\u00e9es peuvent tr\u00e8s facilement \u00eatre lues gr\u00e2ce au fichier de configuration.<\/p>\n<p>Que font g\u00e9n\u00e9ralement les hackers ?<\/p>\n<ul>\n<li>Ils peuvent modifier le contenu de votre site ou blog dans le but de diffuser leurs propres messages politiques.<\/li>\n<li>Souvent, ils utilisent les sites pirat\u00e9s pour y stocker des fichiers malveillants et les diffuser.<\/li>\n<li>Les sites pirat\u00e9s peuvent aussi parfaitement \u00eatre utilis\u00e9s pour envoyer du spam.<\/li>\n<li>Ils injectent furtivement du code dans votre site qui est ex\u00e9cut\u00e9 \u00e0 chaque fois qu\u2019un visiteur s\u2019y rend.<\/li>\n<li>Ils attaquent d\u2019autres sites ou serveurs \u00e0 partir de votre compte.<\/li>\n<\/ul>\n<div><span style=\"font-size: medium;\"><span style=\"line-height: 24px;\"><br \/>\n<\/span><\/span><\/div>\n<h2>D\u00e9tection et solution du probl\u00e8me<\/h2>\n<p>Les installations WordPress ne sont pas toutes vuln\u00e9rables. Seules les installations avec des th\u00e8mes qui utilisent une ancienne version de TimThumb le sont.<\/p>\n<p>Toutes les versions de TimThumb ant\u00e9rieures \u00e0 la version 2.8.2 sont vuln\u00e9rables et doivent \u00eatre mises \u00e0 niveau sans plus attendre. Sur <a title=\"http:\/\/code.google.com\/p\/timthumb\/\" href=\"http:\/\/code.google.com\/p\/timthumb\/\" target=\"_blank\" rel=\"noopener\">http:\/\/code.google.com\/p\/timthumb\/<\/a>, vous retrouverez toutes les explications n\u00e9cessaires. Pour la toute derni\u00e8re version du script TimThumb, rendez-vous sur <a title=\"http:\/\/timthumb.googlecode.com\/svn\/trunk\/timthumb.php\" href=\"http:\/\/timthumb.googlecode.com\/svn\/trunk\/timthumb.php\" target=\"_blank\" rel=\"noopener\">http:\/\/timthumb.googlecode.com\/svn\/trunk\/timthumb.php<\/a>.<\/p>\n<p>Un pratique <a title=\"plugin WordPress\" href=\"http:\/\/wordpress.org\/extend\/plugins\/timthumb-vulnerability-scanner\/\" target=\"_blank\" rel=\"noopener\">plugin WordPress<\/a> est disponible qui examine votre installation afin d\u2019y d\u00e9tecter toute faille. Ce plugin recherche non seulement les anciennes versions de TimThumb, mais aussi les fichiers que les hackers pourraient avoir plac\u00e9 dans le r\u00e9pertoire cache.<\/p>\n<p>Une autre solution possible consiste \u00e0 vider la liste des sites externes consid\u00e9r\u00e9s comme \u00e9tant s\u00fbrs. Cette liste se pr\u00e9sente ainsi :<\/p>\n<p style=\"padding-left: 30px; font-family: Courier new, courier; background: #D8D8D8; margin-left: 15px; padding: 20px;\"><strong>$allowedSites = array (<\/strong><br \/>\n<strong> 'flickr.com',<\/strong><br \/>\n<strong> 'picasa.com',<\/strong><br \/>\n<strong> 'img.youtube.com',<\/strong><br \/>\n<strong>);<\/strong><\/p>\n<p>Il suffit simplement de remplacer ce petit bout de code par le suivant :<\/p>\n<p style=\"padding-left: 30px; font-family: Courier new, courier; background: #D8D8D8; margin-left: 15px; padding: 20px;\"><strong>$allowedSites = array ();<\/strong><\/p>\n<p>Bien que le fait de vider la liste des sites consid\u00e9r\u00e9s comme \u00e9tant s\u00fbrs puisse \u00eatre une solution fort simple, la mise \u00e0 niveau vers la toute derni\u00e8re version de TimThumb est d\u2019une importance cruciale. Ceux qui avaient cr\u00e9\u00e9 des th\u00e8mes WordPress en utilisant TimThumb auront sans aucun doute pr\u00e9vu une mise \u00e0 jour prenant en charge la toute derni\u00e8re version du script. Une mise \u00e0 jour de vos th\u00e8mes est donc \u00e9galement conseill\u00e9e.<\/p>\n<h2>Conclusion<\/h2>\n<p>Bien que tout cela ne soit en fait pas nouveau, nous sommes forc\u00e9s de constater que de nombreux sites utilisent toujours des th\u00e8mes utilisant une ancienne version de TimThumb. Et bien que cette faille ne soit pas li\u00e9e \u00e0 WordPress m\u00eame, ce sont principalement les installations WordPress qui en font les frais. Nous vous conseillons donc de mettre \u00e0 jour vos th\u00e8mes sans plus attendre et de v\u00e9rifier s\u2019ils utilisent une ancienne version de TimThumb. Veillez \u00e0 ce que votre version ne soit pas ant\u00e9rieure \u00e0 la version 2.8.2.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>TimThumb est un script qui permet de redimensionner des images '\u00e0 la vol\u00e9e'. Cette forme de script de 'redimensionnement d\u2019image' est tr\u00e8s populaire et TimThumb est particuli\u00e8rement en vogue dans...<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","footnotes":""},"categories":[67,68,72],"tags":[],"acf":[],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false,"post-featured":false,"post-featured-opt":false,"post-featured-opt-md":false,"post-featured-opt-sm":false,"post-featured-opt-xs":false,"post-most-popular":false,"post-author":false},"uagb_author_info":{"display_name":"Romy","author_link":"https:\/\/www.combell.com\/fr\/blog\/author\/romy\/"},"uagb_comment_info":0,"uagb_excerpt":"TimThumb est un script qui permet de redimensionner des images '\u00e0 la vol\u00e9e'. Cette forme de script de 'redimensionnement d\u2019image' est tr\u00e8s populaire et TimThumb est particuli\u00e8rement en vogue dans...","_links":{"self":[{"href":"https:\/\/www.combell.com\/fr\/blog\/wp-json\/wp\/v2\/posts\/3004"}],"collection":[{"href":"https:\/\/www.combell.com\/fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.combell.com\/fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.combell.com\/fr\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.combell.com\/fr\/blog\/wp-json\/wp\/v2\/comments?post=3004"}],"version-history":[{"count":8,"href":"https:\/\/www.combell.com\/fr\/blog\/wp-json\/wp\/v2\/posts\/3004\/revisions"}],"predecessor-version":[{"id":5106,"href":"https:\/\/www.combell.com\/fr\/blog\/wp-json\/wp\/v2\/posts\/3004\/revisions\/5106"}],"wp:attachment":[{"href":"https:\/\/www.combell.com\/fr\/blog\/wp-json\/wp\/v2\/media?parent=3004"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.combell.com\/fr\/blog\/wp-json\/wp\/v2\/categories?post=3004"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.combell.com\/fr\/blog\/wp-json\/wp\/v2\/tags?post=3004"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}