- It was found that PHP did not properly handle file names with a NULL character. A remote attacker could possibly use this flaw to make a PHP script access unexpected files and bypass intended file system access restrictions.
- It was found that PHP did not check for carriage returns in HTTP headers, allowing intended HTTP response splitting protections to be bypassed. Depending on the web browser the victim is using, a remote attacker could use this flaw to perform HTTP response splitting attacks.
- A flaw was found in PHP's SSL client's hostname identity check when handling certificates that contain hostnames with NULL bytes. If an attacker was able to get a carefully crafted certificate signed by a trusted Certificate Authority, the attacker could use the certificate to conduct man-in-the-middle attacks to spoof SSL servers.
- An integer signedness issue, leading to a heap-based buffer underflow, was found in the PHP scandir() function. If a remote attacker could upload an excessively large number of files to a directory the scandir() function runs on, it could cause the PHP interpreter to crash or, possibly, execute arbitrary code.
- It was found that PHP did not correctly handle the magic_quotes_gpc configuration directive. This could result in magic_quotes_gpc input escaping not being applied in all cases, possibly making it easier for a remote attacker to perform SQL injection attacks.
- It was found that the PHP SOAP parser allowed the expansion of external XML entities during SOAP message parsing. A remote attacker could possibly use this flaw to read arbitrary files that are accessible to a PHP application using a SOAP extension.
- A PHP script that is using the Open Database Connectivity (ODBC) interfaces could enter a deadlock if the maximum execution time period expires while it is executing an SQL statement. This occurs because the execution timer uses a signal and the invoked ODBC functions are not reentrant. This update modifies the underlying code so the deadlock is less likely to occur.
- Previously, the
setTime()functions did not work correctly when the corresponding
DateTimeobject was created from the timestamp. This bug has been fixed and the aforementioned functions now work properly.
- Previously, a segmentation fault occurred when PDOStatement was reused after failing due to the NOT NULL integrity constraint. This occurred when the pdo_mysql driver was in use. With this update, a patch has been introduced to fix this issue.
- Previously, the
strcpy()function, called by the
extract_sql_error_rec()function in the unixODBC API, overwrote a guard variable in the
pdo_odbc_error()function. Consequently, a buffer overflow occurred. This bug has been fixed and the buffer overflow no longer occurs.
- Previously, the Fileinfo extension did not use the
statinterface from the stream wrapper. Consequently, when used with a stream object, the Fileinfo extension failed with the following message:
file not foundWith this update, the Fileinfo extension has been fixed to use the stream wrapper's stat interface. Note that only the
pharstream wrappers support the stat interface in PHP 5.3.3.
- Under certain circumstances, the
$thisobject became corrupted, and behaved as a non-object. A test with the
is_object()function remained positive, but any attempt to access a member variable of
$thisresulted in the following warning:
Notice: Trying to get property of non-objectThis behavior was caused by a bug in the Zend garbage collector. With this update, a patch has been introduced to fix garbage collection. As a result,
$thisno longer becomes corrupted.
- In certain cases, PHP incorrectly triggered the user
error_handler()function. As a consequence, while evaluating this function, a segmentation fault occurred. With this update,
error_handler()is triggered correctly. As a result, the segmentation fault no longer occurs.
- Previously, when the
destroy_zend_class()terminated unexpectedly, a double free error occurred. With this update, the underlying source code has been modified to prevent the double free error.
- Previously, when the
copy()function terminated unexpectedly, the resulting error was not reported. Consequently, data loss could occur. This bug has been fixed, and failed
copy()is now acknowledged properly, which reduces the risk of data loss.
- With this update, a php(language) virtual provide for specifying the PHP language version has been added to the php package.
- A buffer overflow flaw was found in the way PHP parsed deeply nested XML documents. If a PHP application used the xml_parse_into_struct() function to parse untrusted XML content, an attacker able to supply specially-crafted XML could use this flaw to crash the application or, possibly, execute arbitrary code with the privileges of the user running the PHP interpreter.