The OpenNET Project / Index page

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

Уязвимость в runc, позволяющая получить доступ к ФС вне контейнера

20.05.2021 22:04

В инструментарии для запуска изолированных контейнеров runc, применяемом в Docker и Kubernetes, выявлена уязвимость (CVE-2021-30465), позволяющая получить доступ из контейнера к основной файловой системе хост-окружения. Через манипуляции с символическими ссылками можно подготовить на вид безобидную конфигурацию контейнера, которая приведёт к bind-монтированию внешней ФС внутри контейнера. Проблема устранена в обновлении runc 1.0.0-rc95.

Для эксплуатации уязвимости атакующий должен иметь возможность запуска контейнеров с дополнительными точками монтирования в конфигурации (например, проблема воспроизводится в окружениях на базе Kubernetes, в которых пользователи могут запускать свои контейнеры). Из-за наличия временного окна между проверкой и использованием точек монтирования на разделы, совместно используемые с другими контейнерами, атакующий может во время запуска контейнера воспользоваться состоянием гонки и подменить используемый при монтировании в контейнере каталог символической ссылкой на область вне корня ФС контейнера.

  1. Главная ссылка к новости (https://www.openwall.com/lists...)
  2. OpenNews: Уязвимость в runc и LXC, затрагивающая Docker и другие системы контейнерной изоляции
  3. OpenNews: Docker 1.11 переведён на containerd и runC
  4. OpenNews: Уязвимость в LXC, позволяющая получить доступ к файлам вне контейнера
  5. OpenNews: Уязвимость в Docker, позволяющая выбраться из контейнера
  6. OpenNews: Уязвимости в сканерах безопасности образов Docker-контейнеров
Лицензия: CC-BY
Наводку на новость прислал нах..
Тип: Проблемы безопасности
Короткая ссылка: https://opennet.ru/55180-runc
Ключевые слова: runc, docker
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (47) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 22:31, 20/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +14 +/
    Я думал, GO защищён от таких ошибок, иначе чем он лучше PHP?
     
     
  • 2.36, Леголас (ok), 11:47, 21/05/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    всё сорта одного
     

  • 1.2, Аноним (2), 22:33, 20/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    Вот если бы писали на безопасном Си, а не на этой смузихлебной поделки то уязвимостей бы небыло
     
     
  • 2.4, Аноним (1), 22:36, 20/05/2021 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Ты вероятно прав кстати, проблема достаточно классическая с точки зрения разработки на си.
     
  • 2.17, СССР (?), 01:54, 21/05/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да Си тоже не не выход, просто така тенденция у программистов иметь кривожопые руки. все проще все хайпово должно быть у современников.
     
     
  • 3.23, richman1000000 (ok), 07:51, 21/05/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    К сожалению, вы правы.
    Я на работе вижу эту криоврукость каждый день...
    Но тут наверно не криворукость, а лень больше играет
     
     
  • 4.34, заминированный тапок (ok), 11:01, 21/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    лень учиться делать правильно ?
     
     
  • 5.46, Аноним (46), 17:38, 25/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >лень учиться делать правильно ?

    Не всегда, есть еще вариант, много где к тому же - "надо на вчера" (c)

     
     
  • 6.47, заминированный тапок (ok), 20:49, 25/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >>лень учиться делать правильно ?
    > Не всегда, есть еще вариант, много где к тому же - "надо
    > на вчера" (c)

    https://i.imgur.com/HTXZNei.png

     
  • 3.40, Жироватт (ok), 14:23, 21/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Не. Тут тенденция удешевления найма работников умственного труда.
     
  • 2.25, виндотролль (ok), 07:57, 21/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Конечно, ведь нет поделки - нет уязвимости. К 2022 дописали бы.
     

  • 1.3, Аноним (3), 22:35, 20/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Выходит прав был сой коллега, что докер пишут !@$$%&.
     
     
  • 2.5, Аноним (5), 22:41, 20/05/2021 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Добро пожаловать в реальный мир, Нео.
     
  • 2.26, виндотролль (ok), 08:02, 21/05/2021 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Я бы даже взял шире, в основном только такие и пишут на го. Да и сам го в основном такие пишут.

    Потому очень мало толковых проектов на этом языке.

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

     
     
  • 3.35, Аноним (35), 11:45, 21/05/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Слишком толсто
     
     
  • 4.41, виндотролль (ok), 14:33, 21/05/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Слишком толсто

    если ты о гошном рантайме, то да

     
  • 2.42, А (??), 21:03, 21/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Его уже написали... Он в прошлом.
     

  • 1.7, Аноним (-), 23:18, 20/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Я чета не проникся идеей докерства - ну вот вроде установил его завел контейнеры для разработки php mysql apache, вроде работает, но зачем мне это? К тому же там какойто цирк с отображением/поиском/управлением версиями образов.
    Вернулся к нативно установленным пакетам.
     
     
  • 2.8, Аноним (8), 23:22, 20/05/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Неасилил указать тег?
     
     
  • 3.31, Аноним (-), 10:40, 21/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вот например какой командой мне посмотреть доступные к загрузке (pull) версии php?

    Я делаю docker search php мне выводится список без версий.

    Далее делаю docker images --all
    и он мне пишет
    php 7.4.7  b73215b5e2cc 11 months ago
    php latest b73215b5e2cc 11 months ago

    Зачем он мне врёт что php 7.4.7 это latet?

     
  • 2.9, Admenestrator (?), 23:23, 20/05/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ты просто не осилил, на самом деле это супе удобно.
     
  • 2.10, Нек (?), 23:30, 20/05/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Главное преимущество докера в поставке готовых образов на прод, а не для разработки
     
  • 2.18, СССР (?), 02:03, 21/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    вот и я, зачеал на ютубе несколько видосов где в подробностях обясняют для чего и как готовится, попробовал, запустил, потыкал попользовался, и думаю, а к чему этот докер. в чем сложность написать скриты установки на том же питоне. так же можно создать виртуалку на kvm и там так же все теми же скриптами. а можно и саму виртуалку создавать автоматически и туда заливать все что нужно.
    Ну прям вот кейс, мне нужно быстро установить постгрес, QT ну и библиотеку libssh. вот предположем что руками если делать то я прям устану устану, а докером вот просто щелкну палцем и вуаля, и я такой счастливый. И вопрос , а как часто тебе необходимы разлиные конфигурации?
    все это похоже на очередную модную дичь.
     
     
  • 3.20, abu (?), 03:26, 21/05/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Да. Дичь, нужная для определенных случаев, но не для каждой бочки затычка, как ее пытаются который год подавать.

    Щелкать пальцами, применяя докер, можно при условии, если сценарии сборок писали вменяемые люди в нормальных проектах. Но такое бывает далеко не всегда либо - писатели-то вменяемые, но всего не предусмотришь. Либо - написали, а через год свалили. И тогда все равно приходится лезть и править самому. А раз приходится править, а чаще - с нуля писать эту всю басню, то сразу куда-то пропадает легкость бытия и щелкание, а появляется мысль - =а к чему этот докер. в чем сложность написать скрипты установки на том же питоне=.

    Отдельное щелкание пальцами - администрирование всего этого богатства бахромы. А ведь еще есть и Docker in Docker (:

     
  • 2.22, hefenud (ok), 07:35, 21/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Докер хорош в одном, он удобен в CI/CD. Что бы у тебя всегда была чистая виртуалка в которую берем все свежие зависимости для сборки и там собираем, а потом образ дропаем

    Так ты получаешь всегда сборку сделанную в чистой среде и со всеми обновлениями безопасности
    Вот для этого чертовски удобно

     
     
  • 3.24, richman1000000 (ok), 07:55, 21/05/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    увы и ах.
    Пользуюсь докером в продакшине и считаю что пихать его всюду и визде - дибилизм.
    Его нужно применять по назначению.
    докер в CI/CD - для разработки, пожалуйста.
    А вот в продакш будьте добры - на обычную виртуалку ставить.
     
     
  • 4.32, Аноним (32), 10:53, 21/05/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Стандартный кейс - установка устаревшего ПО, либо самого нового, либо . Самый хороший пример - java приложения. Когда-то была отличная репа "ppa:webupd8team/java", но она приказала долго жить. Потому что оракл снова ввел ограничения. А докер - отличное решение для развертывания в таких случаях.
     
  • 3.30, нах.. (?), 09:33, 21/05/2021 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Внезапно, чтобы была виртуалка - вполне достаточно использовать - виртуалку. Чтобы она была чистой - использовать golden images и снапшоты с автоочисткой.
    Что мы и делали за десять лет до появления ненужно-доскеров.
    И (будь та лавка до сих пор жива) делали бы посейчас, поскольку если для тестирования тебе нужно проверять что система доступна в том числе с виндовых клиентов - никакой доскер тут не поможет.

    Единственное, для чего необходим доскер - для подметания мусора за современными разработчиками и средствами разработки, тащащими все в хомяк прямо с гитхапа и гитляпа, без разбора, версия "всегда последняя".

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

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

     
     
  • 4.45, Онаним (?), 10:01, 22/05/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Лучше и не скажешь, наверное.
    Яростно плюсую.
     
  • 2.33, Аноним (32), 11:00, 21/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Я чета не проникся идеей докерства - ну вот вроде установил
    > его завел контейнеры для разработки php mysql apache, вроде
    > работает, но зачем мне это?

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

     
  • 2.43, А (??), 21:06, 21/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Оно предназначено для другого и попытка использовать вместо ВМ не к месту.

    Оно для одноразовых коротких процессов, где нужно дропать изменения в системе на выходе. Часто и много.

    Цирка с версионированием нет. Это делается в др. месте др. тулами.

     

  • 1.11, Аноним (11), 00:18, 21/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Где то плачет одинокий Rust с сишными дыренями
     
  • 1.12, Rev (?), 00:18, 21/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Мне, как разработчику, было бы стыдно собирать 95-й релиз кандидат.
    А им как будто нормально :(
     
     
  • 2.14, Anonymousqwe (?), 01:06, 21/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Если у них релиз на каждый комит и весь прусе давно автоматизирован, то никто даже не думает собирать релиз, или нет.
     
     
  • 3.15, Anonymousqwe (?), 01:07, 21/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    *процесс
     

  • 1.13, Аноним (13), 01:02, 21/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Не понял, уже тринадцатый комментарий, а где шутка про то, что буква S в имени Docker значит Security?
     
     
  • 2.16, нах.. (?), 01:17, 21/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    ну вон в k8s есть нужная тебе буква (без него или какой другой автоматики эксплойт невозможен или бессмысленнен) - и что, легче тебе стало?

     

  • 1.19, псевдонимус (?), 02:50, 21/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Сколько уязвимостей за год выявили в изолированных от здравого смысла контейнерах?

    Дефективно изначально.

     
     
  • 2.29, Аноним (29), 08:30, 21/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    докер тоже хочет свободы
     

  • 1.21, миша_шигорин_и_его_любезный_друг_эм_си (?), 04:45, 21/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    и не переполнение и не указатели. но сисичники радуются.. а чё радуются? - на сисях нельзя проблемы с симлинками огрести? а может всё дело в сисисной реализации kvm в лялихе? - глядишь, еслибы лялих делали на нормальном языке и думали о безопасности, а не об указателях и памяти, то и небыло бы этих проблем. так что, однозначно всё нужно перепейсывать на D
     
     
  • 2.27, bi brother (?), 08:13, 21/05/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну, на "переполнение":
    https://nvd.nist.gov/vuln/detail/CVE-2020-25574

    На "указатели":
    https://nvd.nist.gov/vuln/detail/CVE-2021-25903

    Полегчало? :-D

     

  • 1.28, Аноним (28), 08:22, 21/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Хех. Так и знал, Сейчас зайду и местные старожилы будут ругать, го, доккер, кубер, да и вообще все, что новее 2015 года. Новые технологии не нужны)
     
     
  • 2.37, Мяус (?), 13:02, 21/05/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Нужны, проект suckless или gnu parallel, например, да хотя бы та система развертывания для bsd. А вот то, у чего нет манов, и на странице чего красуется кнопочка pricing, к которой из каждого утюга манят - не нужно.
     
     
  • 3.39, Мертвец (?), 14:13, 21/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >да хотя бы та система развертывания для bsd

    Да, CBSD таки рулит!

     
  • 2.38, YetAnotherOnanym (ok), 13:10, 21/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Конечно, технология, в которой контейнер прибивается после того, как запущенный в нём серверный процесс демонизируется - это очень нужная штука, ага.
     

  • 1.48, Аноним (48), 20:58, 26/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Docker и Kubernetes

    Этим всё сказано

     
  • 1.49, Аноним (48), 20:59, 26/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Хааааааааааааа

    ещё один убийцы C/C++ - go

    Бугага

     

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



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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