Краткое описание
Уязвимость позволяет атакующему вызвать отказ в обслуживании или выполнить произвольный код в системе.
Подробное описание
Уязвимость существует из-за ошибки целочисленного переполнения в процедуре "_ecalloc", которая используется в реализации php-функции "unserialize". Атакующий с помощью специально сформированного вызова функции может выполнить произвольный код в системе и обойти существующие ограничения безопасности или вызвать отказ в обслуживании приложения. Уязвимость может быть использована для удаленного нападения, если на web-сервере доступно php приложение, которое использует уязвимую функцию и передает ей данные поступающие от пользователя.
Уязвимые версии
PHP 5.x версии 5.1.6 и предыдущие
PHP 4.x до версии 4.3.0
Использование уязвимости
Использование уязвимости удаленно: да
Использование уязвимости локально: да
Базовая оценка по системе CVSS
CVSS Base Score: 5.6
(AV:R/AC:H/Au:NR/C:P/I:P/A:P/B:N)
Ложные срабатывания (False Positives)
Вывод о наличии уязвимости сделан на основе версии по результатам идентификации сервисов и приложений на сканируемом узле. Если при установке обновления номер версии не менялся, возможно ложное обнаружение уязвимости.
Пропуск уязвимости (False Negatives)
Случаев пропуска уязвимости зарегистрировано не было. Причины возможных пропусков неизвестны.
Решение
Для устранения уязвимости необходимо установить специальное исправление из CVS репозитория. Необходимую информацию можно получить по адресу:
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_alloc.c?r1=1.161&r2=1.162
http://www.hardened-php.net/files/CVE-2006-4812.patch
Ссылки
CVE (CVE-2006-4812): http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-4812
Bugtraq (Bid 20349): http://www.securityfocus.com/bid/20349
Securitylab: http://www.securitylab.ru/vulnerability/274954.php
Secunia: http://secunia.com/advisories/22280/
http://www.hardened-php.net/advisory_092006.133.html
CVSS: http://nvd.nist.gov/cvss.cfm?vector=(AV:R/AC:H/Au:NR/C:P/I:P/A:P/B:N)