The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

03.02.2017 11:35  В 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 убедились, что в трафике не встречаются попытки эксплуатации данной уязвимости, после чего решили на несколько дней придержать сообщение о проблеме.

Уязвимость вызвана особенностью обработки передаваемых через 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-кода на сервере.

  1. Главная ссылка к новости (https://blog.sucuri.net/2017/0...)
  2. OpenNews: Библиотека Sodium Compat поможет реализовать верификацию обновлений в WordPress
  3. OpenNews: Критическая уязвимость в PHPMailer, применяемом в WordPress, Drupal и Joomla
  4. OpenNews: Причиной утечки панамских документов могли быть уязвимые версии WordPress и Drupal
  5. OpenNews: Четверть крупнейших сайтов работают под управлением WordPress
  6. OpenNews: Новая критическая уязвимость в WordPress
Лицензия: CC-BY
Тип: Проблемы безопасности
Ключевые слова: wordpress
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, Аноним, 12:44, 03/02/2017 [ответить] [смотреть все]
  • +/
    Сейчас эксперты придут и скажут, что дело вовсе не в кривом дизайне похвпэ и что... весь текст скрыт [показать]
     
     
  • 2.3, A.Stahl, 12:48, 03/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +3 +/
    Это плата за слишком вольное неявное приведение типов По каким-то причинам совр... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.5, asand3r, 12:56, 03/02/2017 [^] [ответить] [смотреть все]  
  • +7 +/
    Потому что это "сложо, неэффективно, небезопасно, пока я буду этим заниматься, можно написать еще сотню строк кода".
     
     
  • 4.23, Sw00p aka Jerom, 15:05, 03/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    >>небезопасно

    небезопасная только потомучто сишная malloc такая ?

     
     
  • 5.38, Аноним, 17:26, 03/02/2017 [^] [ответить] [смотреть все]  
  • –4 +/
    Аналогия некорректная PHP - не язык программирования, а всего лишь шаблонизат... весь текст скрыт [показать]
     
     
  • 6.41, Sw00p aka Jerom, 17:46, 03/02/2017 [^] [ответить] [смотреть все]  
  • –2 +/
    какая аналогия о чём речь таки да - об этом говорю не я а сам автор, пхп не ... весь текст скрыт [показать]
     
  • 6.66, Я. Р. Ош, 01:23, 04/02/2017 [^] [ответить] [смотреть все]  
  • –2 +/
    О да, как же нубам без исключений, их же другому и не учили ... весь текст скрыт [показать]
     
     
  • 7.72, Аноним, 05:37, 04/02/2017 [^] [ответить] [смотреть все]  
  • +/
    PHP json_decode null NULL json_decode хах, я тоже null NULL... весь текст скрыт [показать]
     
  • 2.7, Gemorroj, 13:11, 03/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +6 +/
    >> кривом дизайне похвпэ

    в данном случае вообще не при чем.
    >> "/wp-json/wp/v2/posts/1234?id=5678helloworld", для которого значение парамера "?id=" будет иметь более высокий приоритет, чем идентификатор в пути "/1234"

    это недоработка чисто вордпресовская, легко можно представить подобное в любом другом веб проекте (имею ввиду неверную расстановку приоритетов для получения значения переменной).

     
     
  • 3.8, Добрый анон, 13:15, 03/02/2017 [^] [ответить] [смотреть все]  
  • –4 +/
    Это напрямую и означает, что глобальные супермассивы вроде _POST и _GET мо... весь текст скрыт [показать]
     
     
  • 4.34, amonymous, 16:47, 03/02/2017 [^] [ответить] [смотреть все]  
  • +/
    А при чём тут пост и гет Тут речь о том, что вообще произвольные строки в качес... весь текст скрыт [показать]
     
     
  • 5.45, Square1, 19:40, 03/02/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    смешно в этом то, что вы не посмотрели код, доверившись только пересказу новости... весь текст скрыт [показать]
     
  • 3.9, КО, 13:19, 03/02/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Причем тут приоритеты Когда в одном месте при анализе параметра _5678helloworld... весь текст скрыт [показать]
     
     
  • 4.12, Gemorroj, 13:24, 03/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    js parseInt 5678helloworld 5678 --- это проблема всех динамических языков... весь текст скрыт [показать]
     
     
  • 5.14, ss, 13:52, 03/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Я эту ошибку отношу исключительно на счет вордпресса, поскольку гуляние параметр... весь текст скрыт [показать]
     
  • 5.18, Аноним, 14:19, 03/02/2017 [^] [ответить] [смотреть все]  
  • +5 +/
    Ну-ну CODE -- lua 5678 nil введение 1 - atom_number 5678helloworld ,X f... весь текст скрыт [показать]
     
     
  • 6.21, Gemorroj, 14:57, 03/02/2017 [^] [ответить] [смотреть все]  
  • –2 +/
    Кстати про любимый язык анонимов с убунтой print 6 123 ... весь текст скрыт [показать]
     
     
  • 7.43, Аноним, 18:35, 03/02/2017 [^] [ответить] [смотреть все]  
  • +4 +/
    Типа, строгая типизация зло CODE 6123 129 x,y if all map isinstance, x,... весь текст скрыт [показать]
     
     
  • 8.49, anomymous, 21:23, 03/02/2017 [^] [ответить] [смотреть все]  
  • –4 +/
    Вот здесь вырвало ... весь текст скрыт [показать]
     
     
  • 9.51, Аноним, 21:33, 03/02/2017 [^] [ответить] [смотреть все]  
  • +3 +/
    Держите нас и далее в курсе ваших достижений и мы, возможно, когда-нибудь пере... весь текст скрыт [показать]
     
     
  • 10.82, anomymous, 01:06, 05/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Нубы всегда такие нубы Лет через 5 предложите новому коллеге прочитать ваш код ... весь текст скрыт [показать]
     
     
  • 11.86, Аноним, 07:10, 05/02/2017 [^] [ответить] [смотреть все]  
  • +/
    А еще здесь тестов нет, да и документация отсутсвует В общем, ламы такие ламы ... весь текст скрыт [показать]
     
  • 6.22, freehck, 15:04, 03/02/2017 [^] [ответить] [смотреть все]  
  • +3 +/
    Продолжаем эстафету CODE Схема Racket v6 1 1 string- number 11... весь текст скрыт [показать]
     
  • 5.24, Sw00p aka Jerom, 15:06, 03/02/2017 [^] [ответить] [смотреть все]  
  • +/
    пхп не ЯП сам создатель об этом говорил, забудьте про него и весь холивар про те... весь текст скрыт [показать]
     
     
  • 6.54, Аноним, 23:06, 03/02/2017 [^] [ответить] [смотреть все]  
  • +/
    можно пруфы где создатель такое говорил.
     
     
     
    Часть нити удалена модератором

  • 8.77, Sw00p aka Jerom, 15:23, 04/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    любителям читать пруфы https habrahabr ru company idcee blog 202890 https h... весь текст скрыт [показать]
     
  • 4.15, Аноним, 13:54, 03/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Это вполне себе обычное дело для языков с нестрогой типизацией Если человек не ... весь текст скрыт [показать]
     
     
  • 5.25, Sw00p aka Jerom, 15:12, 03/02/2017 [^] [ответить] [смотреть все]  
  • –2 +/
    нет такого понятия, ни пхперы ни джиэсники даже понятия не имеют о теории типов,... весь текст скрыт [показать]
     
     
  • 6.37, Crazy Alex, 17:17, 03/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    тем не менее сишники в типах как-то не путаются Динамика - это вообще заботливо... весь текст скрыт [показать]
     
     
  • 7.42, Sw00p aka Jerom, 17:59, 03/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    не путаются эт по какой причине по той, что компилятор на столько тугодум не з... весь текст скрыт [показать]
     
  • 7.78, www2, 20:54, 04/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Не путайте динамическую типизацию с нестрогой типизацией - это разные вещи В Py... весь текст скрыт [показать]
     
     
  • 8.81, S00p aka Jerom, 22:54, 04/02/2017 [^] [ответить] [смотреть все]  
  • +/
    В математике все сводится к строгости
     
  • 5.62, Led, 23:29, 03/02/2017 [^] [ответить] [смотреть все]  
  • +/
    fixed ... весь текст скрыт [показать]
     
  • 2.29, amonymous, 16:43, 03/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    Дело именно в гуанокоде.
     
     
  • 3.63, Led, 23:31, 03/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Кидаться гуанокодом - это нормальное поведение вэб-макак ... весь текст скрыт [показать]
     
  • 2.65, Я. Р. Ош, 01:21, 04/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    >Сейчас эксперты придут и скажут

    Ты уже пришел

     
  • 2.67, pda, 01:25, 04/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    > никто уже не использует $_GET и $_POST

    Да? А чем там теперь пользуются?

     
  • 1.2, Аноним, 12:45, 03/02/2017 [ответить] [смотреть все]  
  • +1 +/
    Новости про баги вордпресса да какие там баги, зияющие дыры выходят так регуля... весь текст скрыт [показать]
     
  • 1.4, поледанныхотсутств, 12:48, 03/02/2017 [ответить] [смотреть все]  
  • +/
    Использование wordpress, почти равносильно..
     
     
  • 2.30, amonymous, 16:43, 03/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    > Использование wordpress, почти равносильно..

    Жумлы ещё. С друпальчиком.

     
  • 1.6, Аноним, 13:00, 03/02/2017 [ответить] [смотреть все]  
  • +/
    , кроме того молча добавлен новый вид бекдора ... весь текст скрыт [показать]
     
  • 1.10, бедный буратино, 13:20, 03/02/2017 [ответить] [смотреть все]  
  • +9 +/
    автор, который вносил это, проиграл своему коллеге 5000 рупий - ибо таки спалили
     
  • 1.11, PavelR, 13:24, 03/02/2017 [ответить] [смотреть все]  
  • +7 +/
    >манипуляции с настойками

    ))

     
  • 1.13, Аноним, 13:31, 03/02/2017 [ответить] [смотреть все]  
  • +3 +/
    2017года а у ВП ничего нового.
     
  • 1.16, Аноним, 14:04, 03/02/2017 [ответить] [смотреть все]  
  • +1 +/
    С ошибками приведения типов бороться сложно, неявное приведение могло произойти ... весь текст скрыт [показать]
     
  • 1.17, Lolwat, 14:15, 03/02/2017 [ответить] [смотреть все]  
  • –1 +/
    Я одни делаю проверки regEx перед тем как использую значения?
    И как люди пользуются WP?
    Да и вообще, я видел бизнеса которые клипаю магазины и всякие веб сервисы  на WP. Вот как так? Руки нужно отрубать таким девелоперам по самую шею
     
     
  • 2.27, angra, 15:55, 03/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Ты гордишься тем, что как обезьянка повторяешь технику без попытки осмысления Е... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.36, amonymous, 16:49, 03/02/2017 [^] [ответить] [смотреть все]  
  • +3 +/
    В вёбе ВЕСЬ юзеринпут должен быть завалидирован без допущений Независимо от язы... весь текст скрыт [показать]
     
     
  • 4.64, angra, 01:18, 04/02/2017 [^] [ответить] [смотреть все]  
  • +/
    А не в вебе уже можно не заниматься валидацией А в вебинтерфейсе для себя нед... весь текст скрыт [показать]
     
     
  • 5.83, anomymous, 01:08, 05/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Нет, можете валидировать хоть чем, разрешаю Главное - валидировать корректно ... весь текст скрыт [показать]
     
  • 3.48, lolwat, 20:14, 03/02/2017 [^] [ответить] [смотреть все]  
  • +/
    очень даже осмысленно if exists pages page - очень глупо, в зависимости от... весь текст скрыт [показать]
     
     
  • 4.68, angra, 01:27, 04/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Коллизия это конечно очень страшное слово, можно пугать им джуниоров, но что есл... весь текст скрыт [показать]
     
     
  • 5.84, anomymous, 01:09, 05/02/2017 [^] [ответить] [смотреть все]  
  • +/
    if exists pages page - не глупо, а очень глупо, поскольку скорее всего pages ... весь текст скрыт [показать]
     
  • 2.35, amonymous, 16:49, 03/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Ты не одинок, нет Про остальное согласен ... весь текст скрыт [показать] [показать ветку]
     
     ....нить скрыта, показать (8)

  • 1.20, Аноним, 14:54, 03/02/2017 [ответить] [смотреть все]  
  • –2 +/
    Что вы думаете о MODX?
     
     
  • 2.50, anomymous, 21:24, 03/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    > Что вы думаете о MODX?

    Позитивчик.

     
  • 2.56, Аноним, 23:07, 03/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Лучше о нём не думать...
     
  • 2.74, Аноним, 07:01, 04/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Тоже похапе -> сорта одного и того же.
     
  • 1.26, klalafuda, 15:51, 03/02/2017 [ответить] [смотреть все]  
  • –1 +/
    > осуществляется приведение переменной к целому типу и вместо "5678helloworld" передаётся значение "5678"

    Ну Семен Семеныч!

    И не надо мол PHP опять виноват. С таким подходом ребят никакой инструмент не спасет.

     
  • 1.31, Виталий, 16:44, 03/02/2017 [ответить] [смотреть все]  
  • –1 +/
    Как можно больше обновятся, если будут знать о проблеме!!!
     
  • 1.33, freehck, 16:45, 03/02/2017 [ответить] [смотреть все]  
  • +/
    > Разработчики WordPress пояснили отсутствие упоминания об исправлении
    > уязвимости в анонсе тем, что они лишь придержали публикацию
    > уведомления, желая дождаться пока будет установлено обновление у как
    > можно большего числа пользователей, чтобы предотвратить волну атак и
    > вандализма.

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

    Анонсы исправлений уязвимостей должны быть побуждающим фактором для обновления, а не наоборот. Публиковать такие вещи надо сразу же.


     
  • 1.40, Нанобот, 17:42, 03/02/2017 [ответить] [смотреть все]  
  • –2 +/
    >приведение переменной к целому типу и вместо "5678helloworld" передаётся значение "5678"

    занимательная php-математика :)

     
  • 1.69, Линукс еще не готов, 01:55, 04/02/2017 [ответить] [смотреть все]  
  • –1 +/
    Должен быть единое место получения параметров. И должна быть однозначнисть, где прячется ид , в пути или в параметрах
     
  • 1.75, Аноним, 11:47, 04/02/2017 [ответить] [смотреть все]  
  • +/
    Если пэхэпэ такой прогнивший, то что юзать?
     
     
  • 2.79, www2, 20:56, 04/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    > Если пэхэпэ такой прогнивший, то что юзать?

    Статические HTML-сайты.

     
     
  • 3.80, Аноним, 21:47, 04/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Предлагаю вообще не пользоваться интернетом и компом. И жить в лесу.
     
  • 3.88, Аноним, 02:57, 06/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Слез кстати с докувики на такой в своём бложеке. Доволен. Брат жив.
     
  • 2.85, anomymous, 01:11, 05/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Православный питончик же Или рабьку Или растик Ну с рантаймом год по ться п... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.90, Фанат PHP и Wordpress, 09:06, 13/02/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    > Православный питончик же. Или рабьку.

    Угу, вот только PHP 7 по производительности всухую уделывает рабьку с питончиком. Intel, к слову, сотрудничает с командой PHP, оптимизируя их процессоры конкретно под этот ЯП. Пока ребята пишут высокопроизводительные сайты, пишите свои тормозные жигули на рабьке с питончиком))

     
  • 1.89, Аноним, 02:13, 09/02/2017 [ответить] [смотреть все]  
  • +/
    gantry + grav
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor TopList