The OpenNET Project / Index page

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

04.11.2017 11:37  Уязвимость в панели управления хостингом Vesta, позволяющая получить права root

В Vesta Control Panel, web-панели управления сервером хостинга, распространяемой под лицензией GPLv3, выявлена критическая уязвимость, позволяющая поднять свои привилегии в системе. Суть уязвимости в том, что связанные с аутентификацией настройки передаются http-серверу nginx через включение файла директивой "include" в nginx.conf.

Файл с дополнительными настройками сохраняется в каталогах пользователей (/home/{user}/web/{domain}/stats/auth.conf) с правами непривилегированного пользователя хостинга, но при перезапуске nginx обрабатывает настройки с правами root. Пользователь хостинга может подменить содержимое auth.conf и получить доступ к содержимому любых системных файлов, в том числе узнать содержимое /etc/shadow.

Например, пользователь может записать в файл


   client_body_temp_path /etc/shadow; 
   location /vstats/steal { 
      alias / ; 
   }

Первая стока позволит при перезапуске nginx сменить владельца для /etc/shadow на пользователя nginx. А вторая строка позволит получить содержимое /etc/shadow при открытии в браузере страницы "http://test.com/vstats/steal/etc/shadow".

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


   client_body_temp_path /etc/profile.d/vim.sh;  
   location /evil {  
      error_log /etc/profile.d/vim.sh;
   }

можно записать данные в файл /etc/profile.d/vim.sh отправить ошибочный запрос к сайту.

  1. Главная ссылка к новости (https://blog.tarq.io/vestacp-r...)
  2. OpenNews: Root-уязвимость из-за некорректных настроек в пакете nginx для Debian и Ubuntu
  3. OpenNews: На серверах с Cpanel выявлен бэкдор, интегрированный в исполняемый файл Apache httpd
  4. OpenNews: Выявлен червь, использующий уязвимость в панели управления хостингом Parallels Plesk
  5. OpenNews: Опубликован zero-day эксплоит для атаки на системы с панелью управления Plesk
  6. OpenNews: Уязвимость в Plesk использовалась для построения ботнета из web-серверов
Лицензия: CC-BY
Тип: Проблемы безопасности
Ключевые слова: vestacp
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, Zenitur (ok), 11:44, 04/11/2017 [ответить] [показать ветку] [···]    [к модератору]
  • –3 +/
    Ух ты, как раз искал подобный интерфейс
     
     
  • 2.27, МОИ ГЛАЗА РАЗВИДЕТь (?), 01:10, 05/11/2017 [^] [ответить]    [к модератору]
  • +/
    Веб-макака и эникейщик?
     
  • 2.31, Zenitur (ok), 09:44, 05/11/2017 [^] [ответить]    [к модератору]
  • +/
    Эникейщик и админ локалхоста. Хотя, если успешно пройду собеседование, то стану инженером технической поддержки!
     
  • 2.32, Аноним (-), 11:05, 05/11/2017 [^] [ответить]    [к модератору]
  • +/
    А в чем проблемы? Запусти nginx под рутом, укажи / ФС как / сервера и включи DirIndex. Интересно же что у тебя в /etc/shadow.
     
     
  • 3.48, pavlinux (ok), 00:17, 06/11/2017 [^] [ответить]     [к модератору]
  • +1 +/
    Жги, кульхацкep code root 6 OdsJxgN8 2hcptDn0GYgpAHDQzhp0i7qMwNTE5YRX UHauP... весь текст скрыт [показать]
     
  • 1.2, Аноним (-), 11:54, 04/11/2017 [ответить] [показать ветку] [···]     [к модератору]  
  • +1 +/
    Там какой-то взрыв мозга от их подхода к безопасности, давно я такой беспечности... весь текст скрыт [показать]
     
     
  • 2.3, Аноним (-), 11:56, 04/11/2017 [^] [ответить]    [к модератору]  
  • +6 +/
    кто не понял, вводите в форме аутентификации вместо пароля ";код" и запускайте на сервере что душе угодно.
     
     
  • 3.13, Аноним (-), 14:38, 04/11/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    Хреновый с тебя безопасник. $v_password - это путь до временного файла, в который уже записан сам пароль, и на этот путь повлиять нельзя, всё нормально тут (ну, кроме названия переменной)
     
     
  • 4.23, Аноним (-), 20:00, 04/11/2017 [^] [ответить]     [к модератору]  
  • +5 +/
    Это они уже поправили - Было if isset _POST user isset _POST passw... весь текст скрыт [показать]
     
  • 3.22, Аноним (-), 19:53, 04/11/2017 [^] [ответить]    [к модератору]  
  • –2 +/
    $v_password = exec('mktemp -p /tmp');

    Мощную ты там уязвимость нашел, мой юный хакир

     
  • 2.35, imperio (?), 15:16, 05/11/2017 [^] [ответить]     [к модератору]  
  • –1 +/
    Нормальный подход к безопасности За все время существования проекта уязвимостей... весь текст скрыт [показать]
     
     
  • 3.36, Led (ok), 18:14, 05/11/2017 [^] [ответить]    [к модератору]  
  • +/
    > Нормальный подход к безопасности.

    Так их!
    "imperio наносит ответный удар"!

     
  • 1.4, th3m3 (ok), 12:36, 04/11/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    Я всегда говорил, что все эти панели до добра не доведут. Консолька наше всё!
     
     
  • 2.6, Аноним (-), 12:41, 04/11/2017 [^] [ответить]    [к модератору]  
  • –20 +/
    Почитай про уязвимости в ssh, консольщик.
     
     
  • 3.10, Аноним (-), 13:14, 04/11/2017 [^] [ответить]    [к модератору]  
  • –5 +/
    И кто же это минус за ssh поставил? Он наверное им тоже не пользуется для подключения и затем управления сервером.
     
     
  • 4.18, Аноним (-), 17:15, 04/11/2017 [^] [ответить]    [к модератору]  
  • –1 +/
    Веб-макаки, сэр!
     
     
  • 5.39, Аноним (-), 19:13, 05/11/2017 [^] [ответить]     [к модератору]  
  • +1 +/
    Макаки те, кто бездумно повторяет за другими Ты, например Занятно, что в мире ... весь текст скрыт [показать]
     
  • 2.7, A.Stahl (ok), 12:48, 04/11/2017 [^] [ответить]     [к модератору]  
  • +/
    Ну да, такой широкий простор для идотских опечаток, приводящих в серьёзным после... весь текст скрыт [показать]
     
     
  • 3.8, der_fenix (?), 12:54, 04/11/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    cmdname --help набрать очень сложно, ага
     
     
  • 4.9, A.Stahl (ok), 13:01, 04/11/2017 [^] [ответить]    [к модератору]  
  • +2 +/
    Совсем не сложно. Но зачем?
     
  • 4.15, Аноним (-), 14:52, 04/11/2017 [^] [ответить]    [к модератору]  
  • –1 +/
    Не помнишь к чему это консольничество привело в случае с GitLab? К удалению БД в 300 гиг!
     
     
  • 5.25, . (?), 21:16, 04/11/2017 [^] [ответить]    [к модератору]  
  • –3 +/
    ню-ню ... а тач чтобы в конец заё**ый админ в "оснастке управления" да хоть тем же мыссымсыквылем не на ту кнопку ляпнул - такого конечно не бывает? Ясно-понято ...
    :)
     
     
  • 6.40, Аноним (-), 19:16, 05/11/2017 [^] [ответить]     [к модератору]  
  • –1 +/
    Бывает всякое Но в гую интерфейсе начудить значительно сложнее, лет через 10 по... весь текст скрыт [показать]
     
  • 3.11, YetAnotherOnanym (ok), 13:55, 04/11/2017 [^] [ответить]    [к модератору]  
  • –3 +/
    Ну так похмелиться надо перед тем, как садиться за консольку, чтобы руки не тряслись.
     
     
  • 4.41, Аноним (-), 19:38, 05/11/2017 [^] [ответить]    [к модератору]  
  • +/
    > Ну так похмелиться надо перед тем, как садиться за консольку, чтобы руки
    > не тряслись.

    Начальник твой одобряет это твое поведение?

     
  • 2.12, рабовладелец (?), 14:35, 04/11/2017 [^] [ответить]     [к модератору]  
  • –1 +/
    и прикованный к ней раб, 24 7 исполняющий команды примерно полутысчонки юзеров s... весь текст скрыт [показать]
     
     
  • 3.24, th3m3 (ok), 20:47, 04/11/2017 [^] [ответить]    [к модератору]  
  • +/
    Ты загибаешь палку. Если на то пошло, можно написать утилиты автоматизации для типовых задач.

    Я и не про детскую песочницу(хостинги) говорю.

     
     
  • 4.26, пох (?), 22:27, 04/11/2017 [^] [ответить]     [к модератору]  
  • –1 +/
    лично я в недетской песочнице спокойно дам разработчику возможность править конф... весь текст скрыт [показать]
     
  • 3.28, Аноним (-), 02:25, 05/11/2017 [^] [ответить]    [к модератору]  
  • +/
    Бесплатный != свободный.
     
  • 2.16, Аноним (-), 14:58, 04/11/2017 [^] [ответить]    [к модератору]  
  • –2 +/
    Гугли Shellshock (Bashdoor)
     
  • 1.14, Аноним (-), 14:51, 04/11/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • –3 +/
    > распространяемой под лицензией GPLv3

    Куча дыр, кривизна - но лицензия .. лицензия. Всем быстро ставить!

     
     
  • 2.17, Аноним (-), 15:19, 04/11/2017 [^] [ответить]     [к модератору]  
  • +/
    как будто коммерческие панели прямые и без дырок зато лицензии у них - как на... весь текст скрыт [показать]
     
  • 1.19, th3m3 (ok), 17:26, 04/11/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    Оно ещё и на php.
     
  • 1.21, angra (ok), 19:16, 04/11/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Блин, это наверное самая смешная уязвимость за этот год.
    Мне казалось, что понимание того, что нельзя делать include клиентского конфига в основной, должно приходить в голову любого, кто хочет сделать аналог .htacces в nginx. Может не сразу, а через целых две минуты, ну максимум пять. И даже если найдется альтернативно одаренный админ, то после озвучивания этой "гениальной" мысли коллегам, они наставят его на путь истинный. Кто же знал, что альтернативно одаренные просто кучкуются и пишут панели управления хостингом.
     
     
  • 2.29, KonstantinB (ok), 05:15, 05/11/2017 [^] [ответить]    [к модератору]  
  • +/
    Так-то можно, только клиентский конфиг должен генерироваться из возможных тщательно продуманных вариантов по белому списку, а не из пользовательского ввода.
     
     
  • 3.30, KonstantinB (ok), 05:15, 05/11/2017 [^] [ответить]    [к модератору]  
  • +/
    И, конечно, не лежать в пользовательском каталоге с uid пользователя :-)
     
     
  • 4.44, angra (ok), 20:22, 05/11/2017 [^] [ответить]    [к модератору]  
  • +/
    Скажу по секрету, даже если он будет принадлежать root, пользователь может его легко изменить. Если конечно не использовался sticky bit, но о нем почему-то мало кто из админов знает/помнит.
     
  • 1.33, Вася (??), 11:58, 05/11/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Разработчики решили замолчать это событие.

    Примечательно что в оригинальной новости написано, что автор связывался с ними в марте по этому вопросу и в итоге тишина.

     
  • 1.34, imperio (?), 12:40, 05/11/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • –2 +/
    Никто с нами не связывался по этому поводу. Про уязвимость сообщили совсем недавно. Передано разработчикам.
     
  • 1.37, imperio (?), 18:40, 05/11/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • –3 +/
    Проблема касается только связки nginx + php-fpm
    Смотрите чтобы chown для auth.conf был root:root
     
     
  • 2.47, Аноним (-), 00:05, 06/11/2017 [^] [ответить]     [к модератору]  
  • +/
    chown root root нужен не только на файл auth conf и даже не только на директорию... весь текст скрыт [показать]
     
  • 1.38, imperio (?), 18:49, 05/11/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • –5 +/
    Лучше пока изменить chown для папки stats
     

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


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