Выпуск WordPress 6.0.3 содержит заплатки для 16 уязвимостей

Выпуск WordPress 6.0.3 содержит заплатки для 16 уязвимостей

Выпуск WordPress 6.0.3 содержит заплатки для 16 уязвимостей

Вышла новая сборка ядра WordPress с большим набором патчей. В CMS совокупно устранили 16 уязвимостей, в том числе девять XSS. Прочие проблемы связаны с наличием открытого редиректа, возможностей для раскрытия данных, межсайтовой подмены запросов, SQL-инъекций.

В анонсе представлен только перечень закрытых уязвимостей, краткую характеристику каждой дала команда Wordfence из Defiant в своем блоге. Четыре дыры оценены как очень опасные, остальные — как средней или низкой степени опасности.

В Wordfence провели анализ и пришли к выводу, что вероятность использования какой-либо новой проблемы для массового взлома сайтов ничтожна. Тем не менее, некоторые из них способны привлечь внимание хакеров, отдающих предпочтение целевым атакам.

Самой перспективной для эксплойта исследователи сочли возможность межсайтового скриптинга, позволяющую без аутентификации внедрить на страницу вредоносный JavaScript-код (отраженная XSS посредством SQL-инъекции). Атака осуществляется путем подачи особого запроса на поиск в каталоге файлов мультимедиа, загруженных на сайт. Создание пейлоада, со слов экспертов, потребует определенных усилий, к тому же придется прибегнуть к социальной инженерии, но опытному хакеру это вполне по силам.

Еще одна уязвимость высокой степени опасности классифицируется как хранимая XSS. Эксплойт требует прав на создание записей на целевом WordPress-сайте с помощью имейл и позволяет внедрить JavaScript, отрабатывающий при получении доступа к вредоносному постингу.

Виновником появления проблемы является файл /wp-mail.php, отвечающий за обработку имейл-запросов на добавление записей: как оказалось, сценарий не предусматривал проверку уровня доступа источника и потому не проводил санацию в тех случаях, когда пользователь не обладал правами на передачу нефильтрованных данных.

Третья опасная уязвимость относится к классу SQLi; она не связана с каким-либо дефектом ядра CMS, эксплойт в данном случае осуществляется с помощью посредника — стороннего плагина или темы. Как оказалось, при выполнении запросов с использованием класса WP_Date_Query санация данных производилась недостаточно тщательно.

Четвертая уязвимость высокой степени опасности представляет собой CSRF — возможность подделки межсайтовых запросов. Эксплойт не требует аутентификации и позволяет запустить трекбэк-механизм WordPress (уведомление о привязке к веб-документу) от имени другого пользователя.

Анализ выявил изъян в реализации этой функциональности: недостаточно четкое различение пользователей, вызывающих wp-trackback.php — их идентификация производилась по куки-файлам, передаваемым вместе с запросом. Из-за этого злоумышленник мог, используя социальную инженерию, заставить жертву совершить нужное действие и выдать себя за нее.

Релиз WordPress 6.0.3 уже раздается в автоматическом режиме тем, кто избрал такой способ обновления; остальные могут загрузить его с сайта WordPress.org или через админ-панель. Выпуск новой мажорной версии CMS (6.1) запланирован на 1 ноября.

Расширения Chrome могут слить секреты URL через атаку по стороннему каналу

Как оказалось, расширения Chrome можно использовать для слива кодов авторизации, сеансовых ID и других секретов из URL любой открытой вкладки. Никаких специальных разрешений для этого не понадобится, только доступ к declarativeNetRequest API.

Этот механизм, пришедший на смену webRequest API, позволяет расширениям сообщать браузеру, что следует изменить или заблокировать на загружаемой странице (заголовки, реклама, трекеры).

Правила обработки запросов при этом добавляются динамически, а фильтрация осуществляется по регулярным выражениям, соответствующим подмножествам знаков, которые могут присутствовать на определенных позициях в URL.

Исследователь Луан Эррера (Luan Herrera) обнаружил, что блокировку, диктуемую правилами, Chrome производит почти мгновенно, за 10-30 мс, а остальные запросы выполняются дольше (~50-100ms) — из-за сетевых подключений. Эту разницу во времени расширение может использовать для бинарного поиска с целью посимвольного слива URL.

// extensions/browser/api/web_request/extension_web_request_event_router.cc:1117-1127
case DNRRequestAction::Type::BLOCK:
  ClearPendingCallbacks(browser_context, *request);
  DCHECK_EQ(1u, actions.size());
  OnDNRActionMatched(browser_context, *request, action);
  return net::ERR_BLOCKED_BY_CLIENT;

Оракул для подобной тайминг-атаки строится с использованием chrome.tabs.reload для перезагрузки страницы и перехватчика chrome.tabs.onUpdated, помогающего отследить событие status === "complete". Замер времени между reload и завершением загрузки покажет, заблокирован запрос или успешно обработан.

Повторение проверок и бинарного поиска позволяет получить полный URL (с довеском после «?»), затратив на каждый знак строки несколько прогонов. Таким образом, можно незаметно для пользователя украсть включенные приложением в адрес секреты — токены OAuth и сброса пароля, API-ключи, ссылки на контент, закрытый для поисковых систем.

Проверка PoC проводилась на Windows 11 24H2 с использованием Chrome разных версий:

  • 144.0.7559.97 (Stable)
  • 145.0.7632.18 (Beta)
  • 146.0.7647.4 (Dev)
  • 146.0.7653.0 (Canary)

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

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