Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[gentoo-announce] GLSA: PHP contains a vulnerable data handl
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index News & Announcements
View previous topic :: View next topic  
Author Message
klieber
Administrator
Administrator


Joined: 17 Apr 2002
Posts: 3657
Location: San Francisco, CA

PostPosted: Mon Jul 22, 2002 6:37 pm    Post subject: [gentoo-announce] GLSA: PHP contains a vulnerable data handl Reply with quote

Ferry Meyndert wrote:

----------------------------------------------------------------------
GENTOO LINUX SECURITY ANNOUNCEMENT
----------------------------------------------------------------------

PACKAGE :php,mod_php
SUMMARY :Vulnerable data handler
DATE :2002-07-22 16:51:00

----------------------------------------------------------------------

OVERVIEW

E-matters has discovered a serious vulnerability within the default
version of PHP. Depending on the processor architecture it may be
possible for a remote attacker to either crash or compromise the web
server.


DETAIL

PHP 4.2.0 introduced a completely rewritten multipart/form-data POST
handler.While I was working on the code in my role as PHP developer i
found a bug within the way the mime headers are processed. A malformed
POST request can trigger an error condition, that is not correctly
handled. Due to this bug it could happen that an uninitialised struct
gets appended to the linked list of mime headers.When the lists gets
cleaned or destroyed PHP tries to free the pointers that are expected in
the struct. Because of the lack of initialisation those pointers
contain stuff that was left on the stack by previous function calls.

On the IA32 architecture (aka. x86) it is not possible to control what
will end up in the uninitialised struct because of the stack layout. All
possible code paths leave illegal addresses within the struct and PHP
will crash when it tries to free them.

Unfortunately the situation is absolutely different if you look on a
solaris sparc installation. Here it is possible for an attacker to free
chunks of memory that are full under his control. This is most probably
the case for several more non IA32 architectures.

Please note that exploitability is not only limited to systems that are
running malloc()/free() implementations that are known to be vulnerable
to control structure overwrites. This is because the internal PHP memory
managment implements its own linked list system that can be used to
overwrite nearly arbitrary memory addresses.


SOLUTION

It is recommended that all Gentoo Linux users update their systems as
follows.

emerge --clean rsync
emerge php mod_php
emerge clean

Manually:

Download the new php package here and follow in file instructions:
http://www.php.net/distributions/php-4.2.2.tar.gz

Workaround:

If the PHP applications on an affected web server do not rely on HTTP
POST input from user agents, it is often possible to deny POST requests
on the web server.

In the Apache web server, for example, this is possible with the
following code included in the main configuration file or a top-level

. htaccess file:

<Limit POST>
Order deny,allow
Deny from all

</Limit>

Note that an existing configuration and/or .htaccess file may have
parameters contradicting the example given above.

- --------------------------------------------------------------------
Ferry Meyndert
m0rpheus@gentoo.org
http://www.gentoo.org/~m0rpheus
- --------------------------------------------------------------------

Mailing List Archive: http://lists.gentoo.org/pipermail/gentoo-announce/2002-July/000182.html

--kurt
_________________
The problem with political jokes is that they get elected
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index News & Announcements All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum