www.drupal.org/SA-CORE-2018-002

Ещё неделю назад Drupal Security Team анонсировала на 28 марта серьёзный фикс, закрывающий критический баг в безопасности, актуальный для всех версий Drupal 6.x, 7.x и 8.x. Баг позволяет злоумышленнику получить доступ к серверу хостинга с правами веб-сервера. Известного публичного эксплойта, использующего данную уязвимость, пока нет, но скорее всего появится в самое ближайшее время, поэтому всем счастливым владельцам сайтов на Drupal или поддерживающим таковые строго рекомендуется установить обновление как можно скорее.

Сайтам, работающим на версиях 7.x и 8.x, повезло: им просто нужно установить обновление ядра до последней версии, или, если это по каким-то причинам невозможно, накатить на ядро патч, ссылки на соответствующие патчи и версии есть в информационном листке Drupal Security Team.

Владельцам сайтов на неподдерживаемой в настоящий момент 6-й версии повезло меньше, готовой сборки для них нет, но есть патч в проекте Drupal 6 Long Term Support, скачать его можно тут.

Комментарии (8)


  1. symbix
    29.03.2018 03:50

    Обалдеть просто!


    Это что же там происходит с ключами, начинающимися с #? eval? call_user_func? И сколько же там таких мест, что вместо нормального исправления приходится делать глобальный sanitize по белым спискам?


    1. gmother Автор
      29.03.2018 11:12

      По-видимому, нашли одно, но закрыли, на всякий случай, намертво. Или это сделано чтобы сложнее было понять где именно баг, тем самым отсрочить создание эксплойта.


      1. symbix
        29.03.2018 11:59

        Я, кажется, немножко понял.


        Drupal Form API Reference:
        https://api.drupal.org/api/drupal/developer%21topics%21forms_api_reference.html/7.x


        И вот примерно такое:
        https://github.com/drupal/drupal/commit/a3f84c7782c6bc858e9fa01c16a39361faef15c0


        1. gmother Автор
          29.03.2018 12:11

          Да, видимо оно:

          //includes/form.inc
          $form_state['input'] = $form_state['method'] == 'get' ? $_GET : $_POST;


          1. LukaSafonov
            29.03.2018 18:18

            image

            PoC: index.php?page['#payload']=home.php


            1. Raz0r
              30.03.2018 12:14

              Это не сработает.


  1. evildoer
    29.03.2018 10:14

    Дырявое корыто!


  1. Cyber0x346
    29.03.2018 10:56

    D8 — сплошное разочарование.