В 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-кода на сервере. 

YouTube показывает «контент недоступен» из-за блокировщиков рекламы

YouTube в последние дни ведёт себя странно: пользователи по всему миру жалуются, что ролики просто не запускаются с первого раза. Вместо видео сервис показывает сообщение вроде «Контент недоступен, попробуйте позже», а у некоторых всплывает ещё более раздражающая версия — «Контент недоступен в вашей стране».

Проблема активно обсуждается на Reddit, в том числе в сабреддите r/YouTube. Жалобы начали массово появляться в течение последней недели, хотя отдельные пользователи утверждают, что сталкивались с этим и раньше.

Об этом же пишет PiunikaWeb. Сбой проявляется в основном на десктопных версиях YouTube — в Chrome и Firefox — и, что любопытно, почти не затрагивает Safari.

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

 

Есть и обходные пути для тех, кто не готов расставаться с блокировкой рекламы. Например, можно нажать кнопку «Узнать больше» под сообщением об ошибке, а затем вернуться назад — в ряде случаев это «пробуждает» плеер и видео запускается. Работает не всегда, но многим помогло.

Среди других советов, которые гуляют по сообществам:

  • несколько раз обновить страницу с видео;
  • сменить аккаунт на YouTube;
  • временно отключить VPN;
  • попробовать другой, «заточенный под YouTube» блокировщик рекламы.

Официальных комментариев от YouTube пока нет. И если это действительно часть очередного этапа борьбы сервиса с AdBlock, не исключено, что Google вообще предпочтет сделать вид, будто никакого сбоя не существует.

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