Срочно!

Несколько минут назад (сейчас 14 декабря 18:30 мск) появилась информация о критической уязвимости в движке Joomla CMS, причем она затрагивает версии, начиная с 1.5 и до 3.4.5

Update 22 дек. Уже пора обновляться до 3.4.7 и снова патчить старые версии.

Подробности - внутри

 

Официальная новость - анонсирована Joomla 3.4.6

Сама уязвимость - [20151214] - Core - Remote Code Execution Vulnerability

Недостаточная проверка параметров браузера при сохранении сессий в браузере, что может привести к выполнению удалённого кода.

Степень опасности - высокая, это значит нужно срочно пропатчить сайты на старых версиях и обновить до 3.4.6 сайты на свежих версиях.

К счастью, разработчики оперативно выпустили патчи даже для неподдерживаемых веток 1.5 и 2.5

Я подготовил архивы с патчем для удобства - можно (и нужно использовать) - кладёте нужный архив в корень сайта и распаковываете.

Срочно обновляемся и не ловим вирусов, думаю что эксплуатировать уязвимость начнут в течении пары часов.

архив для версии 1.5

архив для версии 2.5

архив для версии 3.4

Так, дополнение - сегодня 22 декабря вышла версия 3.4.7, где "более тщательно устранены вероятные дыры, найденные неделю назад"

Поэтому здесь, в статье, выкладываю более свежие фиксы для линеек 1.5 и 2.5

архив для версии 1.5 (оффсайт) или зеркало

архив для версии 2.5 (оффсайт) или зеркало

версию 3.4.6 необходимо обновить до 3.4.7, после чего почистить кэш и перезайти в админку.

 

Архив для нужной версии помещаем в корень сайта на Joomla (нужной версии) и распаковываем средствами панельки хостинга.

Upd. Судя по статье на используется уязвимость в отсутсвии проверки User Agent перед записью в БД.

Кроме того, атака началась как минимум за 2 дня до опубликования фикса, а значит, есть вероятность что сайты уже заражены.

Признаком заражения может служить наличие в логах "JDatabaseDriverMysqli" и "O:" в User-agent запросов.

Можно заблокировать запросы взлома в .htaccess

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} JDatabaseDriverMysqli? [NC]
RewriteRule .? - [F]

Блокировка в nginx

if ($http_user_agent ~* ".*\{.*")
{
return 403;
}

Дополнительная, пока краткая информация о баге.

Он напрямую связан с багом php, который исправили в сентябре.

Если у вас свежие версии php, а именно PHP 5.5.29+, PHP 5.6.13+ то опасаться нечего

Более полный фикс для nginx

http {
    map $http_user_agent $blocked_ua {
        ~(?i)O: 1;
        ~(?i)JDatabaseDriverMysql 1;
        default 0;
     }
    map $remote_addr $blocked_ip {
        74.3.170.33 1;
        146.0.72.83 1;
        194.28.174.106 1;
        default 0;
    }
    server {
        listen 80;
        if ($blocked_ua) { return 403; }
        if ($blocked_ip) { return 403; }
        # ...
    }
}

Для добавления ip в список блокируемых, добавьте их в секцию map.

Комментарии   

Deni
0 #14 Deni 15.01.2016 17:35
У меня кстати на версии 3.4.6 тоже были атаки и там есть код 200. Так как на этой версии все залатано, то код 200 значит не 100% заражение, а получается 50/50.
Administrator
0 #13 Administrator 15.01.2016 10:40
Да лучше откатиться (с удалением новых файлов). Дату смотреть по логам, или для перестраховки 12.12.2015
Deni
0 #12 Deni 14.01.2016 21:49
В том-то и дело что код 200. У меня 2.5 последняя, но без патча была. Тогда лучше откатиться. Вопрос на какое число лучше. на 14.12.15?
Administrator
+1 #11 Administrator 14.01.2016 16:12
Цитирую Deni:
А если в логах найдено JDatabaseDriverMysqli. Как узнать заражен сайт или нет? Где чего смотреть то?

Посмотреть ответ на этот запрос - если код ответа 200 + на тот момент стояла старая версия - то либо взломали (скорее всего) либо просто проверили на уязвимость (вряд ли)
Deni
+1 #10 Deni 14.01.2016 12:41
А если в логах найдено JDatabaseDriver Mysqli. Как узнать заражен сайт или нет? Где чего смотреть то?
Administrator
0 #9 Administrator 22.12.2015 10:13
Обновил патчи на новые, всем снова патчить или обновляться до 3.4.7
Administrator
0 #8 Administrator 21.12.2015 09:45
Цитирую Сергей Т.:
Может вопрос глупый но "поместить в корень" вы имели в виду заменить существующий файл libraries/joomla/session/session.php ?

Именно это
Сергей Т.
0 #7 Сергей Т. 21.12.2015 09:43
Может вопрос глупый но "поместить в корень" вы имели в виду заменить существующий файл libraries/jooml a/session/sessi on.php ?
Administrator
0 #6 Administrator 19.12.2015 16:38
Цитирую Алексей:
А как проверить, подвержен сайт этой уязвимости или нет?

Ну если сайт на Joomla указанных версий (то есть от 1.5 до 3.4.5) - то подвержен.
Кроме описанных выше случаев - версия php 5.5.29 или хостер прикрыл в своей системе безопасности или через nginx или кодировка таблиц utf_mb4 (но это будет внедрено в 3.5, пока никто такое не делал)
Алексей
0 #5 Алексей 19.12.2015 15:37
А как проверить, подвержен сайт этой уязвимости или нет?
Вадим
0 #4 Вадим 19.12.2015 08:52
Спасибо, профиксил все сайты у себя, а их у меня не мало. ;-)
Алексей
0 #3 Алексей 18.12.2015 16:16
Так написано же, что если нет обновлений или качать не хочется, то добавьте себе:
RewriteEngine on
RewriteCond %{HTTP_USER_AGE NT} JDatabaseDriver Mysqli? [NC]
RewriteRule .? - [F]

У меня полные логи этой фигни. Сейчас сервак проверяют, смогли ли попасть.
Administrator
0 #2 Administrator 17.12.2015 14:17
Цитирую Андрей:
Спасибо! А если у меня джумла 3.1.5, то что качать? Обновлять не хочу, не понравилась последняя версия

Для 3.1.5 должен подойти файлик с ветки 3.4
Но, 3.1 давно не поддерживается и не будет, 3.4.6 не отличается от неё кардинально - только исправлены ошибки и уязвимости. Так что бэкап в руки и обновляться
Андрей
0 #1 Андрей 17.12.2015 12:44
Спасибо! А если у меня джумла 3.1.5, то что качать? Обновлять не хочу, не понравилась последняя версия

Добавить комментарий


Защитный код
Обновить

Последние комментарии

  • В любом случае это будет инструкция, постараюсь конечно максимально полно, но инструкция как выявлять ...

    Подробнее...

     
  • Ок жду. у меня почти 120 сайтов из них 90 на джумле разных версий ) так что мне это важно поэтому ...

    Подробнее...

     
  • Да, это важная часть. Проблема в том что айболит видит не всё. То есть это мера необходимая, но ...

    Подробнее...

     
  • Короче, я обновил php пропатчил сайты и почистился от вирусов ай болитом на этом моя процедура защиты ...

    Подробнее...

     
  • Прошло еще почти полтора месяца а так и не дописали (

    Подробнее...

Вы смотрели