LINUX.ORG.RU

История изменений

Исправление firkax, (текущая версия) :

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

Вот представь такую ситуацию: у тебя есть сервер (ты там рут), на нём ты создал аккаунты каких-то пользователей (не руты), пусть это будут «клиенты». Одному из клиентов ты сделал докер-контейнер (сам настроил и запустил, или там прослойка какая-то безопасная - прямой доступ к докер-сокету ему не даёшь), сделав между контейнером и хостовой фс некоторую шару с noexec,nosuid. Внутри контейнера у клиента есть root, но это же контейнеризованный root а не хостовый - всё норм. Ну так вот, клиент может в такой конфигурации легко получить рут-доступ к хостовой фс (не только к noexec,nosuid шаре), ну а дальше тривиально получается и рут-процесс вне контейнера.

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

Исправление firkax, :

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

Вот представь такую ситуацию: у тебя есть сервер (ты там рут), на нём ты создал аккаунты каких-то пользователей (не руты), пусть это будут «клиенты». Одному из клиентов ты сделал докер-контейнер (сам настроил и запустил, или там прослойка какая-то безопасная - прямой доступ к докер-сокету ему не даёшь), сделав между контейнером и хостовой фс некоторую шару с noexec,nosuid. Внутри контейнера у клиента есть root, но это же контейнеризованный root а не хостовый - всё норм. Ну так вот, клиент может в такой конфигурации легко получить рут-доступ к хостовой фс (не только к noexec,nosuid шаре), ну а дальше тривиально получается и рут-процесс вне контейнера.

Исправление firkax, :

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

Вот представь такую ситуацию: у тебя есть сервер (ты там рут), на нём ты создал аккаунты каких-то пользователей (не руты), пусть это будут «клиенты». Одному из клиентов ты сделал докер-контейнер (сам настроил и запустил - доступ к докер-сокету ему не даёшь), сделав между контейнером и хостовой фс некоторую шару с noexec,nosuid. Внутри контейнера у клиента есть root, но это же контейнеризованный root а не хостовый - всё норм. Ну так вот, клиент может в такой конфигурации легко получить рут-доступ к хостовой фс (не только к noexec,nosuid шаре), ну а дальше тривиально получается и рут-процесс вне контейнера.

Исправление firkax, :

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

Вот представь такую ситуацию: у тебя есть сервер (ты там рут), на нём ты создал аккаунты каких-то пользователей (не руты), пусть это будут «клиенты». Одному из клиентов ты сделал докер-контейнер (сам настроил и запустил - доступ к докер-сокету ему не даёшь), сделав между контейнером и хостовой фс некоторую шару с noexec,nosuid. Внутри контейнера у клиента есть root, но это же контейнеризованный root а не хостовый - всё норм. Ну так вот, клиент может в такой конфигурации легко получить рут-доступ к хостовой фс (не только к noexec,nosuid шаре), ну а дальше тривиально получается и рут-процесс вне контейнера.

Исходная версия firkax, :

При том, что степень компрометации может неожиданно возрасти.

Вот представь такую ситуацию: у тебя есть сервер (ты там рут), на нём ты создал аккаунты каких-то пользователей (не руты), пусть это будут «клиенты». Одному из клиентов ты сделал докер-контейнер (сам настроил и запустил - доступ к докер-сокету ему не даёшь), сделав между контейнером и хостовой фс некоторую шару с noexec,nosuid. Внутри контейнера у клиента есть root, но это же контейнеризованный root а не хостовый - всё норм. Ну так вот, клиент может в такой конфигурации легко получить рут-доступ к хостовой фс (не только к noexec,nosuid шаре), ну а дальше тривиально получается и рут-процесс вне контейнера.