В WordPress молча устранена серьезная уязвимость

В WordPress молча устранена серьезная уязвимость

В WordPress молча устранена серьезная уязвимость

В опубликованном 26 января корректирующем обновлении WordPress 4.7.2 без лишней огласки была устранена критическая уязвимость, позволяющая удалённому атакующему без аутентификации изменить содержимое любой страницы через манипуляцию с REST API.

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

Проблема проявляется только в выпусках WordPress 4.7 и 4.7.1, более ранние версии не подвержены проблеме, даже при включении плагина REST API. REST API по умолчанию включён начиная с ветки 4.7 и предоставлет альтернативный способ манипуляции с настойками, комментариями и публикациями. Уязвимость была обнаружена 20 января исследователями из компании Sucuri в процессе реализации инициативы по аудиту открытых проектов. Разработчики WordPress оперативно выпустили обновление и при участии сетей доставки контента Incapsula, Cloudflare и SiteLock убедились, что в трафике не встречаются попытки эксплуатации данной уязвимости, после чего решили на несколько дней придержать сообщение о проблеме, пишет opennet.ru.

Уязвимость вызвана особенностью обработки передаваемых через REST API значений, в частности, передаваемые через $_GET и $_POST параметры имели более высокий приоритет в обработке, чем параметры, закодированные внутри пути. Воспользовавшись данной особенностью атакующий мог передать запрос с идентификатором, включающим не только цифры, но и буквы, и обойти таким образом проверки на наличие полномочий для выполнения операции.

Например, вместо штатного запроса "/wp-json/wp/v2/posts/1234" можно отправить "/wp-json/wp/v2/posts/1234?id=5678helloworld", для которого значение парамера "?id=" будет иметь более высокий приоритет, чем идентификатор в пути "/1234". При проверке прав доступа проверяется наличие идентификатора "5678helloworld" и так как он не найден и не привязан к владельцу, передаётся управление в вызов get_post, который должен завершить запрос не найдя страницу. Но перед вызовом функции get_post осуществляется приведение переменной к целому типу и вместо "5678helloworld" передаётся значение "5678", указывающее на существующую страницу, что приводит не к выходу, а к вызову метода update_item. Отмечается, что в зависимости от используемых плагинов уязвимость может привести не только к подстановке своего содержимого на страницу, но и к выполнению произвольного PHP-кода на сервере. 

Подпишитесь на новости

Гособлако недогрузили на 2,7 млрд рублей, Минцифры объяснило причины

На ресурсы «Гособлака», не достигавшие целевой загрузки, потратили 2,7 млрд рублей. Такой вывод сделала Счётная палата после проверки работы платформы в 2023-2026 годах. В отдельных случаях мощности были загружены менее чем наполовину.

Как пишут «Ведомости», ознакомившиеся с отчётом аудиторов, один из примеров — виртуальная оперативная память в тестовой среде Социального фонда.

Её загрузка большую часть исследованного периода оставалась ниже установленного порога в 80%.

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

В отчёте есть и другая претензия: Минцифры предъявило «Ростелекому» неустойки на 1,35 млрд рублей. Замечания касались доступности систем, сведений о соисполнителях и отчётности об использовании ресурсов. Поставщик от комментариев отказался.

При этом аудиторы зафиксировали экономию: управление ресурсами позволило сократить первоначально запланированные заказы на 16,6 млрд рублей, или 30,2%.

RSS: Новости на портале Anti-Malware.ru