The OpenNET Project / Index page

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



"Уязвимость в OverlayFS, позволяющая повысить свои привилегии"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Уязвимость в OverlayFS, позволяющая повысить свои привилегии"  +/
Сообщение от opennews (??), 24-Мрт-23, 11:27 
В ядре Linux в реализации файловой системы OverlayFS выявлена уязвимость (CVE-2023-0386), которую можно использовать для получения root-доступа на системах, в которых установлена подсистема FUSЕ и разрешено монтирование разделов OverlayFS непривилегированным пользователем (начиная с ядра Linux 5.11 с включением непривилегированных user namespace). Проблема устранена в ветке ядра 6.2. Публикацию обновлений пакетов в дистрибутивах можно проследить на страницах: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch...

Подробнее: https://www.opennet.me/opennews/art.shtml?num=58857

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

20. Сообщение от Анонн (?), 24-Мрт-23, 13:35   +3 +/
Перемудрили они конечно с этими setgid/setuid. Такое количество абстракций, что не удивительно что где-то логику не продумали.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #23

21. Сообщение от Аноним (21), 24-Мрт-23, 14:01   +/
А в openwrt можно где-то посмотреть публикацию обновления пакетов?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #42

22. Сообщение от YetAnotherOnanym (ok), 24-Мрт-23, 14:43   +1 +/
Не уберегли, не досмотрели...
Бывает, чо...
Ответить | Правка | Наверх | Cообщить модератору

23. Сообщение от Аноним (23), 24-Мрт-23, 14:57   +2 +/
setuid/setgid это вообще чудовищный костыль родом из 80-х. Целый механизм файловой системы поддерживается уже 40 лет, но используется только для одной программы - sudo.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20 Ответы: #24, #25, #31, #50, #53

24. Сообщение от Аноним (24), 24-Мрт-23, 15:49   +/
Справедливости ради, судо вообще костыль и мало где применим. Это механизм для запуска бинаря с чужими правами, поэтому применятся пользователями в многопользовательских конфигурациях, а не то, что ты подумал. Как это может использовать софт, по-твоему? Ну вот стим например от другого пользователя запускаешь, что файрвол мог его контролировать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23 Ответы: #26, #39

25. Сообщение от birdie (ok), 24-Мрт-23, 15:57   +3 +/
Не только sudo.

/usr/sbin/pam_timestamp_check
/usr/sbin/unix_chkpwd
/usr/sbin/userhelper
/usr/sbin/mount.davfs
/usr/sbin/grub2-set-bootflag
/usr/sbin/usernetctl
/usr/lib/polkit-1/polkit-agent-helper-1
/usr/bin/fusermount
/usr/bin/at
/usr/bin/sudo
/usr/bin/chfn
/usr/bin/pkexec
/usr/bin/firejail
/usr/bin/mount
/usr/bin/chage
/usr/bin/crontab
/usr/bin/chsh
/usr/bin/passwd
/usr/bin/umount
/usr/bin/gpasswd
/usr/bin/su
/usr/bin/newgrp
/usr/bin/fusermount3
/usr/libexec/dbus-1/dbus-daemon-launch-helper
/usr/libexec/ddccontrol/ddcpci
/usr/libexec/qemu/qemu-bridge-helper
/usr/libexec/Xorg.wrap
/opt/google/chrome/chrome-sandbox

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23 Ответы: #27, #36, #52

26. Сообщение от Аноним (23), 24-Мрт-23, 16:02   +/
> судо вообще костыль

Костыль, да. Но удобный, и исключительно поэтому еще жив.

> и мало где применим

В каком смысле? Он применим везде, где его применяют.

Дальнейший ваш поток сознания у меня расшифровать не получилось.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24 Ответы: #28

27. Сообщение от Аноним (23), 24-Мрт-23, 16:03   +1 +/
chrome-sandbox? Ему-то нафига setuid?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25 Ответы: #30

28. Сообщение от Аноним (24), 24-Мрт-23, 16:07   –3 +/
Ни разу в жизни не использовал судо. Чем он удобный? Костыль костыльный, есть 100 способов сделать нормально не создавая уязвимость.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26 Ответы: #29

29. Сообщение от Аноним (23), 24-Мрт-23, 16:10   +/
Назовите хотя бы два из этих 100.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28 Ответы: #32

30. Сообщение от Аноним (30), 24-Мрт-23, 16:13   +2 +/
Очевидно, что бы повышать привилегии
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27

31. Сообщение от lucentcode (ok), 24-Мрт-23, 16:13   –1 +/
Ну, без этого костыля было бы сложно apache запускать cgi/fast_cgi от имени пользователя, а не apache/www-data. А так есть апачик, который дёргает suexec(приложуху, что имеет setuid и запускает fastcgi от нужного юзверя), и у нас апачик от одного юзера работает, а обработчики php от другого запускаются. И таких приколов, когда костыль нужен, много. Емнип, у exim бинарь с подобными правами. Запускается от одного юзера процесс, выполняется от имени другого.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23 Ответы: #37, #41

32. Сообщение от Аноним (24), 24-Мрт-23, 16:14   +1 +/
Не проблема: libcap и libcap-ng, policykit и т.д.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29 Ответы: #34, #35

33. Сообщение от Аноним (-), 24-Мрт-23, 16:30   +/
А как запретить OFS на старых ядрах?
Ответить | Правка | Наверх | Cообщить модератору

34. Сообщение от Аноним (23), 24-Мрт-23, 16:46   +/
Поддержка libcap должна быть предусмотрена заранее, произвольный бинарник так не запустишь, так что это не аналог sudo.
polkit - да, в общем и целом согласен.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32 Ответы: #43

35. Сообщение от Аноним (35), 24-Мрт-23, 16:55   +1 +/
Год назад в polkit была уязвимость (CVE-2021-4034, до сих пор название помню, т.к. курсач про неё писал) с повышением привилегий, pkexec там только запрашивает разрешение, запускает сам, поэтому ему нужен suid-бит.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32 Ответы: #49

36. Сообщение от Карлос Сношайтилис (ok), 24-Мрт-23, 17:56   +/
> /opt/google/chrome/chrome-sandbox

как иронично

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25 Ответы: #38

37. Сообщение от Аноним (37), 24-Мрт-23, 18:10   +4 +/
Шёл 2023-й год, а люди всё еще обсуждают проблемы shared hosting.

Ещё 10 лет назад эта проблема решалась запуском динамических php-fpm-пулов, по пулу на пользователя, и mod_fcgid (хотя в большинстве случаев - если это не невменоз с километром реврайтов в htaccess - достаточно nginx).

Сейчас же проще просто назапускать контейнеров.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31

38. Сообщение от dannyD (?), 24-Мрт-23, 18:14   +/
да,зачот.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36 Ответы: #44

39. Сообщение от Аноним (39), 24-Мрт-23, 19:30   +/
А почему костыль то? Костыль - это обходное временное решение взамен нормального. Судо вполне самодостаточное решение, решающее свою задачу.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24 Ответы: #40

40. Сообщение от Аноним (24), 24-Мрт-23, 19:44   +2 +/
Так это и есть дёшево и сейчас, переложив целиком всю заботу вон на тех ребят, мол, не наши проблемы. Из убунтят уже выросли поколения хипстеров по песню "коко под рутом низя работать лучше  вот вам ALL=(ALL) NOPASSWD: ALL".
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39

41. Сообщение от Аноним (41), 24-Мрт-23, 20:31   +1 +/
Что удобно, так это то, что этот же suexec позволял запустить от другого пользователя не только php. Незаменимая вещь, когда рута от сервака нет, а поадминить хочется.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31

42. Сообщение от Аноним (41), 24-Мрт-23, 20:32   +/
У тебя на OpenWRT есть пользователи, которые могут монтировать файловые системы.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #54

43. Сообщение от Аноньимъ (ok), 24-Мрт-23, 20:44   –2 +/
>Поддержка libcap должна быть предусмотрена заранее

Должна.

>произвольный бинарник так не запустишь

Вообще ненужно его запускать.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #34

44. Сообщение от Аноним (44), 24-Мрт-23, 21:58   +3 +/
Хром для изоляции запускает контейнер, а для запуска контейнера во многих дистрибутивах требуются права рута (а в тех, где не требуются, для этого используются USER_NS, которые тоже то ещё минное поле в плане безопасности). Поэтому эта песочница получает права рута через setuid, запускает контейнер, после чего сразу же лишает себя и прав рута, и возможности получить их снова. Это стандартный подход, и setuid почти всегда используется именно так: сразу после запуска получил права рута -> открыл ресурс, необходимый для работы, но доступный только руту -> лишил себя прав рута и возможности получить их снова, но ресурс сохранил -> начал работать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #38 Ответы: #45

45. Сообщение от dannyD (?), 24-Мрт-23, 22:15   +2 +/
эт всё понятно, но недоверие к методам корпорации бобра у меня уже лет пятнацт.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #44

46. Сообщение от Аноним (46), 24-Мрт-23, 23:52   +2 +/
0 дней без уязвимости в непривилегированных user namespace
Ответить | Правка | Наверх | Cообщить модератору

47. Сообщение от Аноним (47), 25-Мрт-23, 03:14   +/
>принадлежащий пользователю root исполняемый файл с флагами setuid/setgid, доступным всем пользователям на запись

Чего вы все привязались к setuid/setgid? Есть ли идиоты, у которых в системе исполняеме файлы "доступные всем пользователям на запись"?

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #48

48. Сообщение от Аноним (48), 25-Мрт-23, 06:06   +2 +/
Идея в том, чтобы создать образ ФС с такими файлами на другой машине, где есть root, а потом скопировать на другую, примонтировать его через FUSE и дальше по инструкции в новости.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #47

49. Сообщение от n00by (ok), 25-Мрт-23, 07:56   +/
Если скорректировать причинно-следственные связи, то это ядру нужно знать, привилегии каких потоков исполнения допустимо повышать. suid-бит ставится на файл, причём произвольный. Задачу возможно решить аккуратнее, создав список разрешённых файлов и их хешей. К такому, кстати, и идёт RedHat с цифровыми подписями.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35

50. Сообщение от Аноним (50), 25-Мрт-23, 08:43   +/
> используется только для одной программы

Это не так. В разных дистрах по разному. Многие уже используют CAP. В многопользовательских системах subit на группу необходим для некоторых каталогов, для ACL нужен.

SUID оказывается и CAP необходим для понижения привилегий root: https://www.opennet.me/openforum/vsluhforumID10/5622.html#12

По теме, в нормальных дистрах монтирование дисков в режиме записи, на рабочей системе, запрещено.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23 Ответы: #51

51. Сообщение от Аноним (51), 25-Мрт-23, 11:22   +/
>  в нормальных дистрах монтирование дисков в режиме записи, на рабочей системе, запрещено.

Как и OverlayFS с FUSE.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50

52. Сообщение от Аноним (52), 25-Мрт-23, 11:33   +2 +/
А в правельных дистрибутивах так:

ls -l /sbin/unix_chkpwd
-rwx--x--x 1 root root 38624 Feb 23  2020 /sbin/unix_chkpwd
getcap /sbin/unix_chkpwd
/sbin/unix_chkpwd = cap_dac_override+i

/etc/security/capability.conf:

cap_dac_override    vasya
none  *

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25

53. Сообщение от anonymous (??), 27-Мрт-23, 12:58   +/
> но используется только для одной программы - sudo

Если ты не в курсе, что chromium устанавливает setuid бинарь. И много кто ещё, тот же firejail к примеру или xorg.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23

54. Сообщение от Аноним (54), 30-Мрт-23, 15:10   +/
Звучит жутковато
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #42


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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