Scriptorama.nl

Header image showing a keyboard, mouse, laptop and books on design patterns

PHP 4.4.3 fixt ernstig lek

Vorige week heeft de PHP group een nieuwe versie van de PHP 4.4 serie vrijgegeven met de nodige bugfixes:

  • Disallow certain characters in session names.
  • Fixed a buffer overflow inside the wordwrap() function.
  • Prevent jumps to parent directory via the 2nd parameter of the tempnam() function.
  • Improved safe_mode check for the error_log() function.
  • Fixed cross-site scripting inside the phpinfo() function.

Stefan Esser van het Hardened-PHP project claimt dat er in deze versie, 4.4.3, ook een zeer belangrijke security fix zit voor het gedrag van unset():

Because there are meanwhile a lot of rumours about this vulnerability in the underground and because the PHP 4.4.3 release announcement does not mention this critical hole at all I wrote up a little article about it, which you can read here.

Stefan Esser legt het probleem uit in zijn artikel zend_hash_del_key_or_index vulerability.

This actually means, that if one wants to delete an alphanumerical bucket and there is a bucket with a numerical key with the same hashvalue first in the traversed list the bucket belonging to the numerical key will be deleted instead of the alphanumerical one.

Dit artikel beschrijft het probleem, geeft inzicht in de Zend HashTables en biedt ook enige voorbeelden van de impact van dit probleem. Het heeft 6 maanden geduurd voordat er deze fix in een PHP4 release is terecht gekomen, dus als je de nodige bitterheid proeft in z'n verhaal is dat niet zo heel erg raar.

PHP 5 is met PHP 5.1.4 al niet meer kwetsbaar. PHP 4 kun je downloaden vanaf PHP.net.

Reageer ook!

Leave a comment
Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>