Des attaques DoS via PHP 5.3 ?

Par:
fredericmazue

jeu, 06/01/2011 - 15:01

Un billet de blog de Rick Regan donne à penser qu'un bug obscur de PHP 5.3 (et peut-être PHP 5.2) pourrait servir de vecteur pour une attaque de déni de service de manière extrêmement simple. D'après le billet, PHP va s'égarer dans une boucle infinie par cette seule instruction:

<?php $d = 2.2250738585072011e-308; ?>

Donc passer cette valeur à un site via une URL ou un formulaire est susceptible de le faire tomber. Le cas de site prenant ce genre de paramètre doit quand même être rare :-)

L'auteur du billet signale que la valeur exprimée sous la forme d'une chaine ne pose aucun problème, tant qu'elle n'est pas utilisée dans un calcul numérique.

<?php $d = '2.2250738585072011e-308'; echo $d; ?> OK

<?php $d = '2.2250738585072011e-308'; echo $d + 0; ?> BANG!

 

Le billet explique que le bug a déjà  constaté sur Windows et PHP 5.3.1 et sous Linux et PHP 5.3.2. Mais à priori d'autres version pourrait être impactées.