Проект: Drupal core
Дата публикации: 8 мая 2019
Риск безопасности: Умеренно критический. 14/25 AC:Complex, A:Admin, CI:All, II:All, E:Theoretical, TD:Uncommon
Уязвимость: Сторонние библиотеки

Описание

Данный релиз безопасности исправляет сторонние зависимости, которые поставляются с Drupal или являются зависимостью ядра Drupal.

Описание проблемы от TYPO3

Для того чтобы перехватить выполнение файлов такими функциями, как file_exists() или stat(), на скомпрометированные Phar архивы, базовое имя должно быть определено и проверено, прежде чем разрешать передачу файла на выполнение в PHP Phar stream.

В примере ниже базовое имя /path/bad.phar, а /phar-content.txt - файл, поставляемый с данным Phar архивом.

$userSubmittedPath = 'phar:///path/bad.phar/phar-content.txt';
file_exists($userSubmittedPath);

Текущая реализация уязвима к атаке path traversal (когда можно получить доступ к файлам уровнем ниже чем корневой ../), что приводит к сценариям, когда проверяемый Phar архив, не является тем, что запросили на самом деле.

// Helper::determineBaseFile(
//    'phar:///path/bad.phar/../good.phar'
// )
// некорректно определит базовое имя как '/path/good.phar'
// ... что можно использовать для разрешения вызова.
if ($interceptor->assert('/path/good.phar')) {
    $wrapper->invokeInternalStreamWrapper(
      'stat',
      'phar:///path/bad.phar/../good.phar'
    );
}

Решение

Обновиться до актуальных версий:

  • Если вы используете Drupal 8.7, обновитесь до Drupal 8.7.1
  • Если вы используете Drupal 8.6 или ниже, обновитесь до Drupal 8.6.16.
  • Если вы используете Drupal 7, обновитесь до Drupal 7.67.

Принимали участие

Сообщение об ошибке:

Исправление ошибки:

Ссылки

🌱 Помогите нам сделать документацию лучше!

Вся документация Druki с отрытым исходным кодом. Нашли ошибку или неточность? Создайте pull request.

Редактировать текущий документ Обсудить улучшение

Или узнайте как контрибутить.

🤔 По-прежнему нужна помощь?

Не нашли ответа на свой вопрос? Попросите помощи у сообщества!

Задайте вопрос на GitHub Смотрите другие ресурсы сообщества