Your submission was sent successfully! Close

USN-362-1: PHP vulnerabilities

11 October 2006

PHP vulnerabilities



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.

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)

Update instructions

The problem can be corrected by updating your system to the following package versions:

Ubuntu 6.06
  • php5-cli - 5.1.2-1ubuntu3.3
  • php5-cgi - 5.1.2-1ubuntu3.3
  • libapache2-mod-php5 - 5.1.2-1ubuntu3.3
Ubuntu 5.10
  • php5-cli - 5.0.5-2ubuntu1.5
  • php5-cgi - 5.0.5-2ubuntu1.5
  • libapache2-mod-php5 - 5.0.5-2ubuntu1.5
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

After a standard system upgrade you need to restart Apache with

to effect the necessary changes.