Вы здесь

Разработка

В CMS Drupal закрыты серьезные ошибки

В CMS Drupal седьмой и восьмой версии произошло обновление кода. Поводом для этого послужило устранение двух критических ошибок во времени выполнения сценариев. В данном процессе активно задействован так называемый исполняемый PHP архив, имеющий расширение .phar. Надо отметить, что его поддержка началась с версии 5.3. Для того, чтобы обезопасить сайты наших клиентов, мы устраняем все уязвимости, а также советуем сделать это всем владельцам сайтов.

Ошибки файлового доступа

Обертка потока phar, интегрированная в РНР, содержит одну из уязвимостей. Она использует стандартные функции языка для файлового доступа внутри самого архива phar. Официальный документ (бюллетень) описывает данную проблему как ошибку файловой операции, возникающей в результате считывания недостоверного URI-идентификатора phar://.

В своих официальных комментариях разработчики указывают на причину бага. Всему виной неадекватность проверки данных исходящих от пользователей. В то же время эксплойт нуждается в тонкой настройке. В частности для исполнения такого кода необходимо положительное решение администратора либо установка нестандартных настроек.

Проблему в целом удалось устранить благодаря добавлению phar в список опасных расширений. Дальнейший алгоритм действия Drupal в этом случае схож с обработкой обычных рнр файлов, он просто конвертирует опасное расширение в безопасный txt формат. Была произведена полная замена обертки потока phar в восьмой версии Drupal и ее полное отключение в семерке. Дело в том, что Drupal 7 использует более раннюю версию языка РНР, то есть ниже 5.3.3, а с ней текущее обновление в принципе невозможно. Впрочем, если пользователю седьмой версии все же необходима поддержка phar ее можно подключить обратно, но тогда проблема вернётся.

Следующая ошибка CVE-2018-1000888 связана с библиотекой PEAR Archive_Tar. Использование данной библиотеки позволяют интерпретатору РНР работать с необходимыми пользователю файлами. Например, файлы обертки с расширением .phar не допускают кириллических названий и их приходиться переименовывать перед запаковкой в архив с расширением .tar, с последующей обратной операцией при распаковке.

Обнаруженную уязвимость, описанную в MITRE рекомендуют использовать при изменении удаленных файлов выбранных случайным образом. В конце 2018 года разработчики PEAR Archive_Tar, а теперь уже и команда Drupal избавились от нее окончательно.

Патчи обновлений предназначаются для версий Drupal 7.62, 8.6.6, 8.5.9. От остальных разработчики отказались и рекомендуют всем пользователям выполнить апгрейд до самой новейшей версии CMS. Обновился и порядок публикации бюллетеня, теперь они будут описывать отдельно взятую уязвимость, изменив тем самым прежний подход, где содержалась сводная информация по всем обнаруженным ошибкам кода.