The OpenNET Project / Index page

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

19.4% из 1000 самых популярных контейнеров Docker содержат пустой пароль root

21.05.2019 12:57

Джерри Гамблин (Jerry Gamblin) решил выяснить насколько распространена недавно выявленная проблема в Docker-образах дистрибутива Alpine, связанная с указанием пустого пароля для пользователя root. Анализ тысячи самых популярных контейнеров из каталога Docker Hub показал, что в 194 из них (19.4%) для root установлен пустой пароль без блокировки учётной записи ("root:::0:::::" вместо "root:!::0:::::").

В случае применения в контейнере пакетов shadow и linux-pam использование пустого пароля root позволяет повысить свои привилегии внутри контейнера при наличии непривилегированного доступа к контейнеру или после эксплуатации уязвимости в непривилегированном сервисе, выполняемом в контейнере. Также можно подключиться к контейнеру с правами root при наличии доступа к инфраструктуре, т.е. возможности подключения через терминал к TTY, указанном в списке /etc/securetty. Через SSH вход с пустым паролем блокируется.

Наиболее популярными среди контейнеров с пустым паролем root являются microsoft/azure-cli, kylemanna/openvpn, governmentpaas/s3-resource, phpmyadmin/phpmyadmin, mesosphere/aws-cli и hashicorp/terraform, которые насчитывают более 10 млн загрузок. Также выделяются контейнеры govuk/gemstash-alpine (500 тыс.), monsantoco/logstash (5 млн), avhost/docker-matrix-riot (1 млн), azuresdk/azure-cli-python (5 млн) и ciscocloud/haproxy-consul (1 млн). Почти все эти контейнеры основаны на Alpine и не используют пакеты shadow и linux-pam. Исключение составляет только microsoft/azure-cli на базе Debian.

  1. Главная ссылка к новости (https://www.kennasecurity.com/...)
  2. OpenNews: Docker-образы Alpine поставлялись с пустым паролем пользователя root
  3. OpenNews: Взлом инфраструктуры Docker Hub с возможной компрометацией связанных репозиториев
  4. OpenNews: Уязвимость в runc и LXC, затрагивающая Docker и другие системы контейнерной изоляции
  5. OpenNews: Утечка идентификаторов пользователя через встроенный в браузер менеджер паролей
  6. OpenNews: В WordPress 5.0.1 устранена уязвимость, приводящая к индексации паролей поисковыми движками
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/50716-docker
Ключевые слова: docker, root
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (67) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 13:12, 21/05/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    И в чём проблема? В этих docker образах работает монолитный процесс или группа процессов с одинаковыми привилегиями. В чём заключается потенциальная уязвимость?
     
     
  • 2.4, пох (?), 13:15, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    отдельный вопрос - зачем в этих образах pam и прочий мусор.

     
     
  • 3.46, KonstantinB (ok), 21:01, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Вот, да. Черт бы с этим пустым паролем - зачем, блин, вообще в контейнере давать хоть какую-либо возможность повышения привилегий?
     
  • 3.58, Fyjybv755 (?), 12:36, 22/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > отдельный вопрос - зачем в этих образах pam и прочий мусор.

     
    > Почти все эти контейнеры основаны на Alpine и не используют пакеты shadow и linux-pam

     

     
     
  • 4.65, пох (?), 06:55, 23/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    и действительно...

    расходимся, ничего интересного. Владельцы azure-cli должны же страдать? (подозреваю, там контейнер не предназначенный для публикации портов, на самом деле)

     
  • 2.8, КО (?), 13:40, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Главная фича контейнеров, что периодически выясняется, что root, который внутре, легким движением превращается в того, который снаружи.
     
     
  • 3.12, Аноним (1), 13:58, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ага, а локальный юзер легко повышает себе привелегии до рута.
     
  • 3.21, Анонимный пользователь Интернета (?), 15:22, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Давай так: я тебе даю рута в контейнере и сутки времени. Получишь рута снаружи — с меня биткоин. Не получишь — с тебя. Идёт?
     
     
  • 4.23, Попугай Кеша (?), 15:55, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я так не играю! )
     
  • 4.24, пох (?), 16:04, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    давай, только сутки отсчитываются с момента, когда я наткнусь на очередной CVE.
    (ну или на меня наткнется, прецеденты в общем-то были)

     
     
  • 5.35, Твой ночной кошмар (?), 18:03, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Не надо вилять задом, Маня. Сутки начинаются с момента как твой почтовый сервер получает письмо от моего.
     
     
  • 6.37, Урри (?), 18:20, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Вот только не надо идти на попятный, раз сам предложил.
     
     
  • 7.44, Анонимный пользователь Интернета (?), 19:55, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вот и я говорю: не надо. Но что-то не видать специалистов. Поди придётся биткоин на ЛСД потратить.
     
     
  • 8.62, хотел спросить (?), 16:39, 22/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    ты походу с него не слазишь ты контейнерами вообще будешь пользоваться только ... текст свёрнут, показать
     
     
  • 9.66, пох (?), 07:03, 23/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    если контейнеры сутки будут пользоваться тобой, это немножко не то же самое, пра... текст свёрнут, показать
     
     
  • 10.67, пох (?), 07:08, 23/05/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    P S lsd не советую - его надо употреблять в спокойно-расслабленном состоянии, а... текст свёрнут, показать
     
  • 6.39, JL2001 (ok), 19:07, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Не надо вилять задом, Маня. Сутки начинаются с момента как твой почтовый
    > сервер получает письмо от моего.

    новенькое техническое отверстие в контейнере он продаст куда дороже твоего одного биткойна

     
     
  • 7.42, Анонимный пользователь Интернета (?), 19:52, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не продаст, так как может только языком молоть.
     
  • 6.47, KonstantinB (ok), 21:04, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Не вопрос, можно поднять сервер в тот момент, когда появится CVE. :)
     
     
  • 7.50, Sw00p aka Jerom (?), 21:47, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    так он вам тогда обновленный докер даст))
     
     
  • 8.61, пох (?), 14:32, 22/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    да ладно, пока он ждет ебилдов, мы тут пару битков поднимем ... текст свёрнут, показать
     
  • 2.9, Аноним (9), 13:47, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > В этих docker образах работает монолитный процесс или группа процессов с одинаковыми привилегиями. В чём заключается потенциальная уязвимость?

    В том, что эти привилегии — не привилегии рута. Если у тебя по-другому, советую не хвастаться этим, а бежать чинить.

     
  • 2.16, Аноним84701 (ok), 14:16, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > И в чём проблема?

    В отсутствии буквы S  в названии. С самого начала.

     
     
  • 3.48, KonstantinB (ok), 21:07, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Скорее в отсутствии понимания того, как устроен Линукс, у подавляющего большинства клепальщиков образов. Дальше первых страниц мана по Докеру не читали.
     
  • 2.18, Dapredator (?), 14:43, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > И в чём проблема?

    А вот и ДевОпсы подтянулись.

     

  • 1.2, Аноним (2), 13:14, 21/05/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > "root:::0:::::" вместо "root:!::0:::::"

    Человекочитаемые конфиги, говорили они…

     
     
  • 2.5, Anonymoustus (ok), 13:17, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Вот и выросло поколение, не читавшее Реймонда.
     
  • 2.6, zloykakpes (ok), 13:22, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это ты из прошлого треда коммент скопировал?
     
  • 2.7, EuPhobos (ok), 13:30, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • –3 +/
    поколение JSON-а..
     
     
  • 3.10, Аноним (9), 13:48, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это JSON-то читаемый?
     
     
  • 4.14, Аноним (14), 14:14, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    вполне. я лично знаю только один нечитаемый формат - XML :)
     
     
  • 5.19, Аноним (19), 15:09, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А не надо глазами читать то, что для этого не предназначено.
     
     
  • 6.20, Анонимный пользователь Интернета (?), 15:21, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Эдак выходит, что XML вообще не нужен. Для чтения глазами не предназначен, а в сравнении с другими не предназначенными бинарными форматами там слишком много шума. Не диво, что им пользуются всё реже и реже.
     
  • 6.22, Аноним84701 (ok), 15:36, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >>> человекочитаемо
    > А не надо глазами читать то, что для этого не предназначено.

    Хм. Я в принципе догадывался, что оно предназначалось для чтения тем же самым местом, которым и проектировалось.

     
  • 5.25, лютый жабист__ (?), 16:12, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >я лично знаю только один нечитаемый формат - XML

    TCP и PROTOBUF ты видимо не знаешь. Как и про существование форматтеров XML... нашла чем гордиться (ц)

     
  • 5.30, GentooBoy (ok), 17:32, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Это потому что поколение json не знает что такое xpath xslt   и продолжает изобретать велосипеды компенсируя свое невежество громкой глоткой и кучей базвордов
     
     
  • 6.57, Аноним (57), 04:54, 22/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Вот да, меня удивляет, что штуками типа JSONPath так мало пользуются. Это ж архиудобно.
     
  • 5.31, Аноним (31), 17:40, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Его легче чем JSON читать, если что.
     
  • 5.33, Аноним (33), 17:52, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    XML - это вполне читаемый формат, пусть и не самый приятный для глаз. А вот для редактирвания и писания с нуля человеком он и правда не очень подходит (хотя есть всякие xml-редактиоры и прочие Haml'ы, решающие и эту проблему)
     
     
  • 6.68, пох (?), 07:13, 23/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    проблема что для редактирования и читания нечеловеками он тоже не очень подходит - поскольку придуман рептилоидами и подброшен дятлам, неспособными заранее оценить, насколько угребищен, прожорлив и ненадежен получится парсер. api единственно-верного libxml2 тоже не айс. В результате пачки уязвимостей раз в месяц, при том что все уже на него забили и специально давно уже никто не ищет.

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

    json, понятно, ничем особо не лучше, но ломают его все же пореже.

     
  • 5.41, JL2001 (ok), 19:14, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > вполне. я лично знаю только один нечитаемый формат - XML :)

    у xml есть офигенная штука под названием xsd
    это перекрывает все недостатки

     
     
  • 6.43, Аноним (33), 19:52, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ну да, после взгляда на xsd понимаешь, что xml - это еще не самое страшное
     
  • 5.63, хотел спросить (?), 16:42, 22/05/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    XML если адекватно написан читается лучше чем JSON
     
  • 2.52, Ordu (ok), 23:32, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Человекочитаемые конфиги, говорили они…

    А это не конфиг, это база данных.

     
  • 2.60, Fyjybv755 (?), 12:45, 22/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Человекочитаемые конфиги, говорили они…

    Человек может прочитать != человек должен понять прочитанное.

     

  • 1.3, gogo (?), 13:15, 21/05/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Не о чем волноваться. Это же докер! Его очень просто переустановить, если что-то пойдет не так. Например, сломают.
     
     
  • 2.53, Аноним (53), 00:16, 22/05/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты, главное, не забудь это обнаружить раньше, чем у тебя все данные сольют или пошифруют.
     

  • 1.11, mumu (ok), 13:49, 21/05/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А чем пустой пароль хуже заранее предустановленного? Ну будет не пустой, а заранее известный, как это повысит безопасность?
     
     
  • 2.13, пох (?), 14:07, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    он всем хуже, поскольку в дефолтно-установленном alpine пустой пароль не позволяет тебе стать рутом - вообще. В отличие от всемизвестного непустого.

     
  • 2.26, Аноним (26), 16:15, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Пустой пароль незаблокированного рута хуже, чем пустой пароль заблокированного рута.
     
  • 2.54, Аноним (53), 00:17, 22/05/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ещё один нечитатель. Никто и не говорит, что там болжен быть предустановленный пароль. Пароль должен быть пустой, но заблокированный.
     

  • 1.15, Аноним (15), 14:16, 21/05/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А у меня в убунте пустой пароль root. Приходится вводить пароль юзера
     
  • 1.17, Аноним (17), 14:28, 21/05/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    >>19.4% из 1000 самых популярных контейнеров Docker содержат пустой пароль root
    >Docker

    Расходимся

     
     
  • 2.32, Нанобот (ok), 17:50, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    а поистерить?
     

  • 1.27, Ананим422356 (?), 16:22, 21/05/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    В докер контейнере и так под рутом весь софт выполняется
    Хотя могут быть индивидуумы которые контейнер вместо виртуального сервера используют так и флаг им в руки
     
     
  • 2.29, Аноним (29), 17:09, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Это у вас контейнер неправильный.
     
  • 2.55, Аноним (53), 00:19, 22/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А ещё есть индивидуумы, которым не лень ни прочитать документацию, ни дописать в Dockerfile


    USER foo


     

  • 1.34, Нанобот (ok), 17:55, 21/05/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а в самом образу хоть su есть? а то иначе от пустого пароля мало толк...разве что кто-то на базе образа создаст что-то своё
     
     
  • 2.51, пох (?), 21:49, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > а в самом образу хоть su есть?

    есть, но с пустым паролем рута он, внезапно, не работает.

    Но ты можешь руками доустановить гнутого недоделка, который сделает все как надо.

     

  • 1.36, borbacuca (ok), 18:06, 21/05/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    вот ивыросло поколение считающее , что удалённый доступ руту эт норм. Да и линь невоспроизводимый эталон ОС
     
     
  • 2.49, Аноним (49), 21:37, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В том-то и дело, что удаленного доступа нет. И чтобы его организовать, надо еще и приложить определенные усилия.
     
  • 2.59, Fyjybv755 (?), 12:41, 22/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    «удалённый доступ руту эт норм»®™ is a registered trademark of Cisco Inc.
    Все попытки нелегального использования будут караться по закону.

    А сабжевая новость к этому никак не относится. Чтобы получить доступ к руту по пустому паролю, нужно дополнительные пакеты поставить, а для этого рут нужен.

     
  • 2.64, хотел спросить (?), 16:46, 22/05/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    я так делаю, логин по sshd по паролю запрещен, только по ключу
    поцелуйте меня в тапки

    а то что вы предлагаете потенциально лечится через rowhammer
    так что лучше уж ключ

     

  • 1.38, Аноним (38), 18:42, 21/05/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Хм, разве кто-то пускает в прод контейнеры докера сразу? Я думал их настраивают предварительно, ну и во время настройки пароль меняют, не?
     
     
  • 2.45, Аноним (29), 19:56, 21/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Экий вы наивный... Среди современного IT-персонала считается правильным слепо брать из реп (неважно что именно - имиджи докера, либы ноды или модули вордпресса) и без изменений пихать в продакшон.
     
  • 2.56, Аноним (53), 00:22, 22/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Пароли не меняют, потому что они там просто не нужны. Единственная программулина запускается сразу от нужного пользователя.
     

  • 1.40, Онаним (?), 19:14, 21/05/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Заголовок совершенно кхм. 194 из 1000, не?
     

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



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

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