Submitted by KeesCook on Tue, 2006-10-10 12:06
Referenced CVEs:
CVE-2006-4485, CVE-2006-4486, CVE-2006-4625, CVE-2006-4812
Description:
===========================================================
Ubuntu Security Notice USN-362-1 October 10, 2006
php4, php5 vulnerabilities
CVE-2006-4485, CVE-2006-4486, CVE-2006-4625, CVE-2006-4812
===========================================================
A security issue affects the following Ubuntu releases:
Ubuntu 5.04
Ubuntu 5.10
Ubuntu 6.06 LTS
This advisory also applies to the corresponding versions of
Kubuntu, Edubuntu, and Xubuntu.
The problem can be corrected by upgrading your system to the
following package versions:
Ubuntu 5.04:
libapache2-mod-php4 4:4.3.10-10ubuntu4.8
php4-cgi 4:4.3.10-10ubuntu4.8
php4-cli 4:4.3.10-10ubuntu4.8
Ubuntu 5.10:
libapache2-mod-php5 5.0.5-2ubuntu1.5
php5-cgi 5.0.5-2ubuntu1.5
php5-cli 5.0.5-2ubuntu1.5
Ubuntu 6.06 LTS:
libapache2-mod-php5 5.1.2-1ubuntu3.3
php5-cgi 5.1.2-1ubuntu3.3
php5-cli 5.1.2-1ubuntu3.3
After a standard system upgrade you need to restart Apache with
sudo /etc/init.d/apache2 restart
to effect the necessary changes.
Details follow:
The stripos() function did not check for invalidly long or empty
haystack strings. In an application that uses this function on
arbitrary untrusted data this could be exploited to crash the PHP
interpreter. (CVE-2006-4485)
An integer overflow was discovered in the PHP memory allocation
handling. On 64-bit platforms, the "memory_limit" setting was not
enforced correctly. A remote attacker could exploit this to cause a
Denial of Service attack through memory exhaustion. (CVE-2006-4486)
Maksymilian Arciemowicz discovered that security relevant
configuration options like open_basedir and safe_mode (which can be
configured in Apache's httpd.conf) could be bypassed and reset to
their default value in php.ini by using the ini_restore() function.
(CVE-2006-4625)
Stefan Esser discovered that the ecalloc() function in the Zend engine
did not check for integer overflows. This particularly affected the
unserialize() function. In applications which unserialize untrusted
user-defined data, this could be exploited to execute arbitrary code
with the application's privileges. (CVE-2006-4812)


