PHP Group выпустила новые версии популярного скриптового языка, в которых исправлен ряд багов, включая два в компоненте OpenSSL. Исправленные в OpenSSL баги не достигают уровня серьезных уязвимостей вроде Heartbleed, всплывших в последние несколько месяцев. PHP 5.5.14 и 5.4.30 содержат исправления для двух уязвимостей, одна из которых относится к способу, которым OpenSSL обрабатывает временные штампы на некоторых сертификатах, другая также касается временных штампов, но в другом аспекте.

«Этот кусок кода является частью устаревшего парсера UTCTime. Он сдвигается на два разряда влево и преобразует эти символы в целые числа», — сказано в отчете по одной из уязвимостей OpenSSL.

«Тем не менее сертификат, действительный после 2050 года, содержит форматированные штампы времени GeneralizedTime, позволяющие использовать четыре символа в поле года вместо UTCTime, которые интерпретирует эта функция», — говорится в отчете.

Вторая уязвимость OpenSSL содержится в способе обработки PHP определенных типов данных для временных штампов. Специально сконструированный сертификат может вызывать ошибки.

«Сертификат был сгенерирован на Windows 2003 Server. Отметьте, что время действия — “Jun 21 15:59:11 2109 GMT”. В openssl.c PHP выполняет проверку на предмет V_ASN1_UTCTIME, но выдает предупреждение, если время V_ASN1_GENERALIZEDTIME. Согласно поиску в исходнике openssl, оба являются допустимым представлением времени действия», — сказано в отчете.

Помимо двух уязвимостей OpenSSL, исправленных в PHP 5.5.14 и 5.4.30, имеется ряд других багов, получивших исправления, многие из которых не относятся к безопасности.

Категории: Уязвимости