The OpenNET Project / Index page

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

В WordPress 4.9.7 устранены уязвимости, позволяющие удалять файлы в системе

09.07.2018 23:16

Опубликован корректирующий выпуск системы управления web-контентом WordPress 4.9.7, в котором устранены две уязвимости, при помощи которых можно удалить произвольные файлы на сервере, насколько позволяют права доступа пользователя, под которым выполняется WordPress. Например, в ходе атаки можно удалить файл wp-config.php и инициировать процесс установки нового экземпляра WordPress при следующем открытии сайта, в ходе которой атакующий может завести новый аккаунт администратора WordPress, при помощи которого можно запустить произвольный PHP-код на сервере.

Для эксплуатации обеих уязвимостей атакующий должен иметь привилегии автора публикаций (Author) в WordPress. Уязвимости вызваны передачей в функцию unlink() имени файла, сформированного на основе переданных пользователем внешних параметров, не очищенных должным образом (например, можно указать "../../wp-config.php"). В частности данная функция вызывается для удаления эскизов изображений, при инициировании удаления приложенной к публикации картинки.

Дополнение: Информация об уязвимости была отправлена создателям WordPress ещё в ноябре прошлого года и разработчики запросили 6 месяцев на исправление. После наступления указанного срока исследователи попытались уточнить планы по исправлению и предупредили, что намерены скоро раскрыть информацию об уязвимости. Ещё спустя месяц информация об уязвимости была раскрыта. Через неделю разработчики WordPress отреагировали созданием патча и выпуском обновления 4.9.7 с устранением проблемы.

  1. Главная ссылка к новости (https://www.wordfence.com/blog...)
  2. OpenNews: Доля WordPress среди крупнейших сайтов достигла 30%
  3. OpenNews: Более 2000 сайтов под управлением WordPress оказались поражены кейлоггером
  4. OpenNews: Ещё в трёх плагинах к WordPress найдены бэкдоры
  5. OpenNews: В плагине Captcha к WordPress, имеющем 300 тысяч установок, выявлен бэкдор
  6. OpenNews: Выявлена скупка плагинов к WordPress для распространения вредоносного кода
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/48933-wordpress
Ключевые слова: wordpress
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (38) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, demimurych (ok), 23:45, 09/07/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Интересно, это тянутся проблемы вордпресса новых лет, или это уже неофиты наделали красаты?
     
  • 1.3, Сергей (??), 23:52, 09/07/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Почему именно в php и проектах на нем, пачками вскрываются уязвимости, причем очень глупые
     
     
  • 2.5, Аноним (5), 00:05, 10/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    WordPress - MVC, DDoS через СУБД, нет нормального подавления при авторизации в адаминке брута и других прелестей

    Я хоть и не ЗА ПХП топлю, но язык тут не совсем и виноват. WordPress хуже разработать по действием MVC невозможно!

     
     
  • 3.6, Аноним (6), 00:12, 10/07/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Язык таки тоже виноват. Уж больно по ногам стрелять хорошо. Ну и легаси код, конечно, в немалой степени.
     
     
  • 4.8, KonstantinB (ok), 00:21, 10/07/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    unlink(filename) можно сделать в любом языке.

    Тут скорее легаси другого рода - привычка php-разработчиков со времен дешевых shared-ов мешать в одну кучу код приложения и пользовательские upload-ы. В случае же WP - даже если и разнесешь по разным uid, пользователи этого самого WP первыми разноются, что у них обновление кода кнопочкой из админки не работает.

     
     
  • 5.12, Аноним (12), 01:38, 10/07/2018 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > пользователи этого самого WP первыми разноются, что у них обновление кода кнопочкой из админки не работает

    Нужно просто волевым усилием принять решение, что виноваты пользователи (читай: владельцы сайтов), а не программисты, и прекратить всем рассказывать, что php плохой. Не будет спроса - не будет и предложения. А то, что пользователям проще взять дырявое, небезопасное но зато дешёвое, чем платить за нормальный продукт, - это уже их личный осознанный выбор. Выбор между "взять наиболее разрекламированное" и "потратить время и разобраться, что лучше, а то и своего программиста нанять" - тоже осознанный. Так что не вижу причин для ненависти к чему/кому бы то ни было. Каждый получил то, на что согласился.

     
     
  • 6.15, iCat (ok), 07:03, 10/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Не споров ради, а из природной любознательности: а что автор может посоветовать для создания мелкого сайта? (Джумлу, ВордПресс и Битрикс лучше даже не упоминать)
     
     
  • 7.18, Аноним (-), 07:18, 10/07/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    маркдаун
     
     
  • 8.21, iCat (ok), 09:14, 10/07/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Серьёзно Это не CMS, это язык разметки Отчего тогда не C, не C , не perl, не ... текст свёрнут, показать
     
     
  • 9.42, Аноним (42), 18:36, 14/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что ни С, ни С , ни перл, ни даже ява - не являются языками разметки В... текст свёрнут, показать
     
  • 7.24, нах (?), 10:46, 10/07/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    а что такое мелкий сайт и нужна ли ему вообще-то - cms? (может ему нужна автосайтобилдилка только?)

    если нужна - мелкий, немелкий, но контент надо обновлять регулярно, и не редактируя через пуссиэкзе html файлик православным vim'ом - хрен ты куда с подводной лодки-то денешься.

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

    а если неохота - то остается только вротпресс да дрюпалка.

    "оба хуже".

     
  • 7.26, Попугай Кеша (?), 11:09, 10/07/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Возьмите сервис и не насилуйте мозги - Medium, например. Или что-то в этом духе.

    Или статический генератор сайтов. GitHub Pages еще был.

     
  • 5.20, Аноним (20), 08:28, 10/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    WordPress и рассчитан на дешевые шареды. Они php 5.3 поддерживаю до сих пор
     
     
  • 6.28, нах (?), 11:52, 10/07/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    на дешевых шаредах мы как раз НЕ поддерживаем ваше "5.3", у нас вообще одна единственно-верная версия, пришедшая с дистрибутивом, на котором построено - зоопарк требует недешевого времени админа, а у нас денег нет. И сегодня это 7.2

    А вот как раз у селф-хостеров, у которых админ давно уже лежит на кладбище, успешно оплаканный и забытый чадами и домочадцами, или просто свалил в туманную даль, получив денег за установку в 2005м году - вполне может быть 5.3, и апгрейдить его они просто не умеют (и умея заманаешься).

    А wp апгрейдится у них полуавтоматически, кнопкой "поапгрейдить", а то и вовсе автоматом (правда, его надо включить, в 2005м еще не было такого) - и, что удивительно, все еще работает.

    Кстати, bitrix, п-сы, сломали - "с 1 января мы поддерживаем только семерку". И плевать - что за деньги ло...пользователя, которому она нахрен не нужна, как и платить еще кому-то за апгрейд сервера. (и даже поставить последний до-январский апдейт они не могут - не предусмотрена такая сложная технология - апдейт бывает только один, самый наираспоследний, кто в декабре не успел - тот лошара, попал на бабки и глюки).

     
  • 4.19, Адекват (ok), 08:20, 10/07/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Я конечно дико извиняюсь, но в СИ по ногам гораздо больше способов выстрелить, а в bash так вообще - чтобы не выстрелить нужно очень сильно постараться.
     
     
  • 5.23, 1 (??), 10:27, 10/07/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    там порог вхождения выше (как лицензию на пушку получить).
     
     
  • 6.27, Аноне (?), 11:48, 10/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Не понимаю про порог, сам язык то простой, даже без ООП (да и С++ не сложнее). В PHP больше всего и вся, в ширину так сказать, и никто не мешает использовать типы и указатели.
     
  • 6.31, Аноним84701 (ok), 12:35, 10/07/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > там порог вхождения выше (как лицензию на пушку получить).

    Просто немодно стало.
    У перловки порог вхождения как бы не ощутимо выше, что абсолютно не мешало ей когда-то быть очень популярным ЯП для вебразработки – в основном методом ненаучного тыка и копипасты,  а не "освоением ЯП на должном уровне".

    С местной "священной коровой", субъективно, все примерно так же – когда-то написать пару софтин на Си было "типа мастхев".  С помощью копипасты и форумов (stackoverflow тогда еще не было) оно кое-как подгонялось под тот самый сценарий, который продумал "горе-погромист", но шаг влево, шаг вправо - корка.
    В общем, порог вхождения как "фильтр дураков" в целом (для ЯП) и для Си в частности – сильно преувеличен.

     
     
  • 7.33, 1 (??), 13:52, 10/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Неее ... С ж скомпилять надо ... Да ещё компилятор на тебя ругается - а потом ещё и ошибка выполнения ... Поотлаживать как ? printf во все поля ? А если файлов в проекте больше 3х ?

    Про perl согласен. Он и популярен был, так как интерпретатор.

     
     
  • 8.34, . (?), 14:08, 10/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    и чем тут тот же перл проще У которого еще и printf может выдавать совсем не то... текст свёрнут, показать
     
  • 6.40, istepan (ok), 07:47, 11/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Какой порог, батюшка?!
    Забыл как в 90-е cgi поголовно ломали? Про 0day вообще молчу.
     
  • 2.7, KonstantinB (ok), 00:17, 10/07/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Потому что на php написано на порядок больше веб-приложений, чем на любом другом языке.
    Плюс низкий порог входа, позволяющий что-то даже работающее запрограммировать полному нубу.
     
  • 2.10, анонсим (?), 00:58, 10/07/2018 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Неофиты косорукие потому что. В питоне, например, это не так заметно, но то, что делают некоторые падаваны, заставляет волосы на коленках шевелиться. И это системная проблема, проблема курсов "за 5 минут", "10 способов" и прочего подобного кала, нито не хочет вникать и учиться.
     
     
  • 3.36, Попугай Кеша (?), 17:05, 10/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    А зачем? учиться тяжело хомячкам
     
  • 3.41, istepan (ok), 07:48, 11/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Благодаря этим курсам, спецов начинают больше ценить.
     
  • 2.13, Аноним (13), 05:32, 10/07/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Почему именно в php и проектах на нем, пачками вскрываются уязвимости, причем
    > очень глупые

    Лкчше спроси, покрыт ли этот участок кода тестами.

     
     
  • 3.29, Аноним (29), 12:08, 10/07/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Чтобы покрыть потенциальную дыру с ../.. тестом, нужно о ней знать ¯\_(ツ)_/¯
     
  • 2.16, пох (?), 07:08, 10/07/2018 [^] [^^] [^^^] [ответить]  
  • +7 +/
    не потому, что ты не умеешь ни на чем другом?

    Пока обезьянки умели перл - были уязвимости, скажем, wwwthreads написанной на перле, по штуке в месяц.
    Когда перлу разучились окончательно - ее кое-как спортировали на php. Правильно - уязвимости наличествовавшие в перловой версии - внезапно, оказались общими и для phpшной, поскольку обезьянка как не умела правильно обрабатывать user input, так и не научилась.

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

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

    А вот в проектах на том же tcl - дыры редкость. Потому что во-первых, проектов нет, во-вторых, вы ж и прочитать-то его не умеете, а значит и дыры искать можете только методом тыка.
    А в пехепешном коде можно подходящие места прямо grep'ом...хотя да, grep вы тоже не умеете, ну ладно, запилите себе автоматическую искалку с зачатками ИИ на go.

     
     
  • 3.30, lurkr (?), 12:11, 10/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо, ох как хорошо написал, жму руку.
     
     
  • 4.37, анонсим (?), 19:27, 10/07/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    вот почти как я написал, только развёрнуто :)
    школота всегда считает, что если питон-жанга/руби-рор, то они прям защищены ото всего, там дяди Д'Артаньяны умные подумали за них в отличие от мерзкого пехапе, где одни *расы.
     

  • 1.4, Аноним (5), 00:03, 10/07/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Переходите на Flat-File CMS: Grav/Gantry 5, OctoberCMS, Bolt, CraftCMS, PicoCMS, HTMLy
    и другие https://www.staticgen.com
     
     
  • 2.9, Stax (ok), 00:36, 10/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Хм. А в интернете на каждом углу баннеры, что вместо Wordpress давно пора брать некую Duda. Может неспроста?
     
     
  • 3.25, нах (?), 10:47, 10/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    это для "ди6ильных приложений" и ди6илов, которые их используют

    так что да, неспроста.

     

  • 1.11, Kuromi (ok), 01:25, 10/07/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    О, да в новости не описано самое интересное (по второй ссылке, blog.ripstech.com) - уязвимость была заявлена разработчику более полугода тому назад, после чего разработчики очень вяло отвечали на запросы нашедшего уязвимость и заявили, что на выпуск патча потребуется 6 месяцев. За более чем  6 месяцев так ничего и не выпустили, информацию о уязвимости опубликовали и вот спустя полторы недели появился патч.

    Ответственный хакинг, белые шляпы и все такое, результаты наглядны.

     
     
  • 2.14, Аноним (14), 05:43, 10/07/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вот на это - https://github.com/WordPress/WordPress/commit/b564da95fb41abf94ac3e7cc31f61c5d - 6 месяцев?

    Нуууу ооок.

     
     
  • 3.17, пох (?), 07:15, 10/07/2018 [^] [^^] [^^^] [ответить]  
  • +6 +/
    ну а чего не так? там код написан, а не одна строка поправлена. Пейсателей явно осталось полтора человека - остальные подались в разработчики (платных) плагинов, жрать охота. В общем и целом даже и почти разумный код, если б не одно но: а скажите мне, дорогие пейсатели - а зачем у вас вообще возможна ситуация, когда юзерский файл на диске есть, а в базе нет записи, что это и откуда оно взялось?

    Вот каким местом вы думаете, когда пишете код, отвечающий за upload?

    Если бы у вас на каждый файл была запись - вам не надо было бы проверять в ста местах, где он лежит - хоть в C:\
    А заодно и очистка мусора упростилась бы в разы. Но нет, мы будем героически бороться с \\name\share (кстати, почему это я не могу ее подставить как помойку для вротпресса?)

     
  • 2.38, Michael Shigorin (ok), 22:00, 10/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо, занятное дополнение.
     

  • 1.22, ox (?), 09:36, 10/07/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Те ещё писунЫ
     

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



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру