Пользователь
0,0
рейтинг
17 октября 2014 в 14:39

Разработка → Очередная критическая уязвимость в Drupal 7



Вслед за уязвимостью в XML-RPC, недавно компанией Sektion Eins была найдена уязвимость, которой подвержены все версии 7 ветки. Она позволяет выполнить произвольный SQL-запрос в БД друпала не имея никаких прав в системе. Опасность определена как наивысшая. 15 октября вышло обновление ядра до версии 7.32, которое устраняет эту уязвимость. Разработчики настоятельно советуют обновить ядро немедленно. Обновление не займёт много времени, необходимо обновить только файл /includes/database/database.inc. Спасти сайты до обновления может только блокировка сайта, maintenance mode не поможет.

Уязвимость находилась в функции обработки значений для SQL-запроса. При обработке массива для SQL-функции IN предполагается, что это не ассоциативный массив, ключи участвуют в формировании имени placeholder-а. Если в функцию передать ассоциативный массив со специально сформированными ключами, то можно вмешаться в SQL-запрос.

В сети есть эксплоиты по изменению пароля для суперадмина системы (пользователя Drupal-а с ID = 1). Однако ничего не мешает переделать их под любого пользователя и систему. Надо немедленно обновляться и распространить эту информацию максимально широко.

Любопытная информация: в багтрекере друпала информация об этой уязвимости появилась более 11 месяцев назад, но до security team информация не дошла. Теперь разработчикам приходится разъяснять, почему так получилось и что они сделали, чтобы уменьшить вероятность повторения такой ситуации.

P.S.: Как подсказал Razunter в вышедшей 8.0.0-beta2 эта же уязвимость для 8 ветки тоже устранена.
Родион @CrazyRad
карма
7,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

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

  • 0
    Обновил информацию про эксплоиты.
  • +1
    >которой подвержены все версии.

    только 7-ой ветки.
    • 0
      Согласен, неудачно переформулировал. Добавил.
    • 0
      Не только, Drupal 8 тоже был подвержен.
      • 0
        Откуда такая информация? Судя по commit-ам в 8 ветке ничего не исправлялось.
  • +4
    Дьявол кроется в деталях.
    Код
    foreach($values...)

    заменили на
    foreach(array_values($values)...)

    У меня это еще совпало с тем, что 16.10.2014 у dh.it-patrol.ru на сервере Shiva были аппаратные проблемы(может, кстати связанные с этой уязвимостью), благо ssh и ftp работали.
  • +1
  • +1
    Спасибо за информацию, проверил — буквально пару часов назад чей то бот видимо автоматом внес инфекцию, php бекдор спрятанный в modules — увидел сразу, а вот изменения в базе (menu_router) сразу то и не приметил, так что имейте ввиду.
    А багу мне этот бот сам прикрыл, заботливый попался.
    • 0
      Запасливый бизнес мен.
      • 0
        В этом году на фоне хартблидов и прочих шеллшоков продавцы лома скорее всего заработают себе на счастливую старость.
    • 0
      можете поподробней расписать что с menu_router?

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.