27,1% сайтов в Интернете могли быть атакованы из-за уязвимости в WordPress

min-wordpress_kopia

Более чем четверть всех сайтов в Cети могла быть атакована из-за уязвимости, которая ставила под угрозу ядро сервера обновлений WordPress.

Дефект, найденный в PHP-хуке внутри api.wordpress.org, позволял разработчикам использовать любой алгоритм хэширования для верификации обновлений.

Мэтт Бэрри (Matt Barry), ведущий инженер безопасности в WordPress и создатель инструмента WordFence, обнаружил, что атакующие могли вставить свой алгоритм хеширования в процесс верификации, что позволило бы получить доступ к секретному ключу всего через несколько часов банальным перебором. Причем, из-за малого количества попыток, злоумышленники не были бы даже замечены системой безопасности WordPress.

Затем атакующие могли послать URL, содержащий вредоносное обеспечение, к серверу обновлений WordPress, который отослал бы его на сайты под управлением WordPress, на которых оно было бы автоматически установлено. Согласно статистике сервиса W3techs.com, 27,1% сайтов используют WordPress.

478682793

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

WordPress не проверяет обновления — он просто доверяет всем адресам и пакетам от api.wordpress.org.

Хешированный процесс верификации WordPress мог быть ослаблен, позволяя атакующим использовать параметр POST, переданный shell_exec, делая возможным удаленное выполнение кода и атаку сервера обновлений api.wordpress.org.

Используя слабый алгоритм хеширования adler32, Бэрри смог уменьшить количество перебираемых хэшей, необходимых для взлома системы, с 4,3 миллиардов до 100–400 тысяч.

Мэтт сообщил о баге создателю WordPress 2 сентября, и через 5 дней проблема была решена. Однако Мэтт всё ещё считает api.wordpress.org «ахиллесовой пятой» многих сайтов, использующих сервера обновлений.

Он говорит, что Automattic (компания-создатель WP) не ответила на его предложения об обсуждении уязвимости и необходимости введения механизма аутентификации для обновлений. Похожая проблема с OpenWall уже обсуждалась на этой неделе.

Стоит отметить, что идею обновлений с использованием аутентификации предложили ещё три года назад, но она была проигнорирована.

Источник: The RegisterНикита Мингалеев, юный падаван