Lucene search

K
redhatRedHatRHSA-2012:1046
HistoryJun 27, 2012 - 12:00 a.m.

(RHSA-2012:1046) Moderate: php security update

2012-06-2700:00:00
access.redhat.com
49
php
security update
xsl
file upload
integer overflow
buffer overflow
format string
des algorithm
memory leak
null pointer

EPSS

0.951

Percentile

99.4%

PHP is an HTML-embedded scripting language commonly used with the Apache
HTTP Server.

It was discovered that the PHP XSL extension did not restrict the file
writing capability of libxslt. A remote attacker could use this flaw to
create or overwrite an arbitrary file that is writable by the user running
PHP, if a PHP script processed untrusted eXtensible Style Sheet Language
Transformations (XSLT) content. (CVE-2012-0057)

Note: This update disables file writing by default. A new PHP configuration
directive, “xsl.security_prefs”, can be used to enable file writing in
XSLT.

A flaw was found in the way PHP validated file names in file upload
requests. A remote attacker could possibly use this flaw to bypass the
sanitization of the uploaded file names, and cause a PHP script to store
the uploaded file in an unexpected directory, by using a directory
traversal attack. (CVE-2012-1172)

Multiple integer overflow flaws, leading to heap-based buffer overflows,
were found in the way the PHP phar extension processed certain fields of
tar archive files. A remote attacker could provide a specially-crafted tar
archive file that, when processed by a PHP application using the phar
extension, could cause the application to crash or, potentially, execute
arbitrary code with the privileges of the user running PHP. (CVE-2012-2386)

A format string flaw was found in the way the PHP phar extension processed
certain PHAR files. A remote attacker could provide a specially-crafted
PHAR file, which once processed in a PHP application using the phar
extension, could lead to information disclosure and possibly arbitrary code
execution via a crafted phar:// URI. (CVE-2010-2950)

A flaw was found in the DES algorithm implementation in the crypt()
password hashing function in PHP. If the password string to be hashed
contained certain characters, the remainder of the string was ignored when
calculating the hash, significantly reducing the password strength.
(CVE-2012-2143)

Note: With this update, passwords are no longer truncated when performing
DES hashing. Therefore, new hashes of the affected passwords will not match
stored hashes generated using vulnerable PHP versions, and will need to be
updated.

It was discovered that the fix for CVE-2012-1823, released via
RHSA-2012:0546, did not properly filter all php-cgi command line arguments.
A specially-crafted request to a PHP script could cause the PHP interpreter
to execute the script in a loop, or output usage information that triggers
an Internal Server Error. (CVE-2012-2336)

A memory leak flaw was found in the PHP strtotime() function call. A remote
attacker could possibly use this flaw to cause excessive memory consumption
by triggering many strtotime() function calls. (CVE-2012-0789)

A NULL pointer dereference flaw was found in the PHP tidy_diagnose()
function. A remote attacker could use specially-crafted input to crash an
application that uses tidy::diagnose. (CVE-2012-0781)

It was found that PHP did not check the zend_strndup() function’s return
value in certain cases. A remote attacker could possibly use this flaw to
crash a PHP application. (CVE-2011-4153)

Upstream acknowledges Rubin Xu and Joseph Bonneau as the original reporters
of CVE-2012-2143.

All php users should upgrade to these updated packages, which contain
backported patches to resolve these issues. After installing the updated
packages, the httpd daemon must be restarted for the update to take effect.