The OpenNET Project / Index page

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

Уязвимость в ядре Linux, позволяющая изменить содержимое tmpfs и разделяемой памяти

13.08.2022 06:57

В ядре Linux выявлена уязвимость (CVE-2022-2590), позволяющая непривилегированному пользователю изменить отражённые в память файлы (mmap) и файлы в tmpfs, не имея прав на запись в них, и поднять свои привилегии в системе. По своему типу выявленная проблема напоминает уязвимость Dirty COW, но отличается тем, что ограничивается только воздействием на данные в разделяемой памяти (shmem / tmpfs). Эксплуатация проблемы может применяться для модификации запущенных исполняемых файлов, использующих разделяемую память.

Проблема вызвана состоянием гонки в подсистеме управления памятью, возникающем при обработке исключения (fault), генерируемого при попытке доступа на запись к доступным только на чтение областям в разделяемой памяти, отражённым в режиме COW (copy-on-write mapping). Проблема проявляется начиная с ядра 5.16 на системах с архитектурой x86-64 и aarch64 при сборке ядра с опцией CONFIG_USERFAULTFD=y. Уязвимость устранена в выпуске 5.19. Пример эксплоита планируют опубликовать 15 августа.

Дополнение: Опубликован прототип эксплоита.

  1. Главная ссылка к новости (https://www.openwall.com/lists...)
  2. OpenNews: Уязвимость в ядре Linux, позволяющая исказить файлы, доступные только для чтения
  3. OpenNews: В ядре Linux выявлен новый вариант уязвимости Dirty COW
  4. OpenNews: Критическая уязвимость в ядре Linux, уже эксплуатируемая злоумышленниками
  5. OpenNews: Удалённая DoS-уязвимость в ядре Linux, эксплуатируемая через отправку пакетов ICMPv6
  6. OpenNews: Уязвимость в подсистеме ядра Linux perf, позволяющая поднять привилегии
Лицензия: CC-BY
Тип: Проблемы безопасности
Короткая ссылка: https://opennet.ru/57630-kernel
Ключевые слова: kernel
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (83) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.4, Аноним (4), 07:44, 13/08/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    Постоянно слышу:
    -надо постоянно обновляться!
    -новое ядро - лучшее ядро!

     
     
  • 2.5, Аноним (5), 07:54, 13/08/2022 [^] [^^] [^^^] [ответить]  
  • +32 +/
    Так и есть, в 5.19 нет уязвимости
     
     
  • 3.9, Аноним (9), 09:01, 13/08/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Не мешайте человеку оправдывать свою лень.
     
     
  • 4.15, Аноним (15), 10:03, 13/08/2022 Скрыто модератором
  • –3 +/
     
     
  • 5.20, ma3x (?), 11:20, 13/08/2022 Скрыто модератором
  • –1 +/
     
     
  • 6.29, Аноним (29), 12:37, 13/08/2022 Скрыто модератором
  • +2 +/
     
     
  • 7.54, Аноним (54), 20:54, 13/08/2022 Скрыто модератором
  • +/
     
     
  • 8.59, Аноним (59), 22:05, 13/08/2022 Скрыто модератором
  • +/
     
  • 6.31, Аноним (31), 12:52, 13/08/2022 Скрыто модератором
  • +/
     
     
  • 7.44, Alexander256 (?), 17:29, 13/08/2022 Скрыто модератором
  • +/
     
     
  • 8.48, ma3x (?), 18:41, 13/08/2022 Скрыто модератором
  • +/
     
  • 7.49, Михрютка (ok), 18:41, 13/08/2022 Скрыто модератором
  • +/
     
     
  • 8.51, annn (?), 19:52, 13/08/2022 Скрыто модератором
  • –2 +/
     
     
  • 9.53, Alexander256 (?), 20:49, 13/08/2022 Скрыто модератором
  • +/
     
     
  • 10.57, Михрютка (ok), 21:34, 13/08/2022 Скрыто модератором
  • –1 +/
     
  • 9.56, Михрютка (ok), 21:22, 13/08/2022 Скрыто модератором
  • +/
     
  • 8.60, Аноним (59), 22:07, 13/08/2022 Скрыто модератором
  • +/
     
     
  • 9.64, Михрютка (ok), 22:48, 13/08/2022 Скрыто модератором
  • +/
     
     
  • 10.66, Аноним (59), 00:52, 14/08/2022 Скрыто модератором
  • +/
     
     
  • 11.67, Михрютка (ok), 01:08, 14/08/2022 Скрыто модератором
  • +/
     
  • 3.69, Алекс (??), 05:12, 14/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Все дело втом, что в новых ядрах больше багов, чем в старых. Проще поддерживать старое ядро, а не раздувать новое до резиновых размеров. Да и потом, зачем столько ядер для одной системы? Например для Linuxmint 19.3 постоянно обновляются ядра, а это вобще что-нибудь дает кроме раздутости? Ведь у меня в системе уже их сотни если не тысячи, и они постоянно устаревают!
     
  • 2.8, Аноним (9), 08:40, 13/08/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Постоянно слышу:
    - сделай что-нибудь!
    - что ты сидишь как пень всю жизнь!
     
     
  • 3.16, Аноним (16), 10:30, 13/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Постоянно вижу:
    - чувак делать «что-нибудь» с шилом в попе, но получается полная хрень, которая всех бесит.
    - чувак ну что ты творишь всякую хрень, лучше ничего не делай!
     
     
  • 4.25, Аноним (25), 12:14, 13/08/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    С первого раза всегда будет хрень.
     
     
  • 5.26, Да ну нахер (?), 12:16, 13/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А потом как в первый раз.
     
     
  • 6.38, Аноним (38), 15:05, 13/08/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    "Хотели как лучше, а получилось как вегда" В. Черномырдин
     
  • 6.41, Бывалый смузихлёб (?), 15:22, 13/08/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Как в первый раз потом не бывает
     
  • 5.28, Аноним (28), 12:17, 13/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Это ко всему относится. Вообще. Но копия всегда хуже оригинала. Так что у землян пути кроме как в тупик нет )
     
     
  • 6.65, Аноним (-), 23:33, 13/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ага, но стоит лишь сесть в этот прекрасный а 821 в 821 т 821 о 821 б 821 у ... большой текст свёрнут, показать
     
  • 4.80, Аноним (9), 15:14, 14/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Всё хорошо в меру. Или у вас мир чёрно-белый? Либо сидит как пень, либо шило в опе, третьего не дано?
     
  • 3.45, Аноним (45), 18:26, 13/08/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Эм, ну многим реально лучше "сидеть как пень", чем творить всякую хню "патамушта мама сказала, низя сидеть сложа руки"
     
  • 3.46, Аноним (45), 18:31, 13/08/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    "Надо-срочно-делать-что-нибудь-не-сидеть-как-пень" - это невроз.
    Если такой чувачок на минуту остановится и включит мыслительный аппарат, его накроет экзистенциальный кризис и депресняк. Ведь кроме него, его дела никому не нужны на самом деле. Но общество требует быть как все - белкой в колесе
     
     
  • 4.50, Аноним (50), 19:51, 13/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Особенно раздражают продавцы в магазине, хозяин квартиры и чертовы коммунальщики.
     
     
  • 5.74, Аноним (-), 07:33, 14/08/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Лайфхак: поселись в селе подальше от них всех. Это даже работает.
     
     
  • 6.75, Аноним (50), 07:56, 14/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Из села пишешь? Как там интернеты?
     
     
  • 7.77, InuYasha (??), 13:11, 14/08/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Отвечу за анона: у меня норм. На ссш хватает. Но не для видосов.
     
  • 2.35, Аноним (38), 14:51, 13/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Привильно слышишь, но не всё. Обновляться надо на свежее минорное ядро LTS.
     
  • 2.61, Аноним (59), 22:13, 13/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Слушайся
    @
    Потребляй
    @
    Будь счастливым!
     
     
  • 3.73, Аноним (-), 07:31, 14/08/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Sleep, work, obey же, ну.
     
  • 3.79, InuYasha (??), 14:53, 14/08/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Уже "own nothing and be happy. and have some 5G."
     
  • 3.84, ryoken (ok), 07:40, 15/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Что-то похоже на фильм "They live" (если название не переврал).
     
  • 2.68, Аноним (68), 02:20, 14/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так любое старое ядро, с которого ты не хочешь обновляться, когда-то было новым ядром, в котором кроме всего прочего залатали обнаруженные дыры и насыпали порцию новых. Вон, некоторые дыры по 15-20 лет жили. И ты же понимаешь, что по старым ядрам, даже LTS, поддержка когда-то всё равно прекращается, а обнаруженные позднее ошибки остаются с ними навсегда и они известны злоумышленникам? Сиди тогда на ядре 1.0 и не ной, раз новых боишься.
     
     
  • 3.93, Julio (?), 19:29, 30/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Это правда, мой друг. Важно то, что если это новое ядро, необходимо собрать предыдущий опыт, чтобы сделать его как можно лучше и уменьшить появление новых уязвимостей. Это достигается путем созревания ядра. Обычно, если вы убираете его в спешке, остается много дыр, как это видно на примере нескольких дистрибутивов, поэтому приходится постоянно латать. Качество и безопасность не должны быть принесены в жертву ради выпуска нового ядра.

    Переведено с помощью www.DeepL.com/Translator (бесплатная версия)

     

  • 1.6, birdie (ok), 08:15, 13/08/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    /proc/config.gz

    # CONFIG_USERFAULTFD is not set

     
     
  • 2.85, Michael Shigorin (ok), 20:49, 15/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    $ uname -m
    e2k

    2 fastpokes: we ain't got >5.15 even in experimental state :P

     

  • 1.7, john_erohin (?), 08:16, 13/08/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    5.10.х пронесло ? останусь на нем до начала следующего LTS.
     
  • 1.10, Аноним (10), 09:08, 13/08/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Старые ядра дырявые, новые ядра дырявые...
    Куда бежать??
     
     
  • 2.11, YetAnotherOnanym (ok), 09:34, 13/08/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Багет на комдиве.
     
     
  • 3.36, Аноним (38), 14:57, 13/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Оказывается, в Багет даже нет MMU, все процессы одном адресном пространстве (ака микроконтроллер). Так что, там изменить содержимое памяти соседнего процесса ваще не проблема.
    PS Инфа услышана от сотрудника, который плотненько работал с ними раньше. Мной не проверена.
     
     
  • 4.58, Михрютка (ok), 21:43, 13/08/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    на багете изменить с соседним процессом аппаратно должно приравниваться к измене родине
     
  • 4.72, Аноним (-), 07:30, 14/08/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Зато принцип неуловимого Джо сработает. Тем более что на расконсервированых T60 никаких багетов нет. Хитрый стратегический ход - противнику хайтек не достанется.
     
     
  • 5.90, Michael Shigorin (ok), 09:46, 16/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Lenovo T60?
     
  • 3.86, Michael Shigorin (ok), 20:50, 15/08/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Тогда уж ми-минор-коробка, в смысле embox.

    Хоть на эльбрусе, хоть на x86.  Не удивлюсь, если и на комдиве работает. :)

     
     
  • 4.88, YetAnotherOnanym (ok), 09:28, 16/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Хочется думать, что будет поддерживать - Комдив (емнип) это MIPS, а у embox заявлена поддержва MIPS.
    Кст, давно хотел спросить (сорри за оффтопик) - МЦСТ решил на Спарки забить и полностью сосредоточиться на Эльбрусе?
     
  • 2.12, Аноним (12), 09:55, 13/08/2022 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Кто понял жизнь, тот больше не бежит
     
  • 2.13, EuPhobos (ok), 09:56, 13/08/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Белка в колесе такими вопросами не интересуется!
     
     
  • 3.47, Анончик (?), 18:35, 13/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Точно. Надо бежать, а не думать. А то могут возникнуть всякие неудобные вопросы к разработчику колеса...
     
     
  • 4.62, Аноним (59), 22:14, 13/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Сделай что-нибудь, что ты сидишь как пень всю жизнь!
     
  • 2.14, Аноним (15), 10:02, 13/08/2022 Скрыто модератором
  • +1 +/
     
     
  • 3.32, Аноним (32), 13:11, 13/08/2022 Скрыто модератором
  • +1 +/
     
     
  • 4.33, Аноним (33), 13:16, 13/08/2022 Скрыто модератором
  • +/
     
     
  • 5.39, НяшМяш (ok), 15:06, 13/08/2022 Скрыто модератором
  • +/
     
     
  • 6.40, Аноним (33), 15:14, 13/08/2022 Скрыто модератором
  • +/
     
     
  • 7.78, НяшМяш (ok), 14:39, 14/08/2022 Скрыто модератором
  • +/
     
  • 5.42, Аноним (31), 16:28, 13/08/2022 Скрыто модератором
  • +/
     
     
  • 6.43, Аноним (33), 17:08, 13/08/2022 Скрыто модератором
  • +/
     
  • 4.37, Аноним (38), 15:00, 13/08/2022 Скрыто модератором
  • +1 +/
     
     
  • 5.55, Аноним (54), 20:57, 13/08/2022 Скрыто модератором
  • +1 +/
     
  • 2.18, Terry A. Davis (?), 11:09, 13/08/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    TempleOS
     

  • 1.17, Аноним (16), 10:32, 13/08/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Именно поэтому в Убунте 20.04 ЛТС используется 5.15 ахахах они знали что туда спецом засунут эксплоит для торопыг арчеводов. И других любителей свежатинки.
     
     
  • 2.24, Аноним (24), 12:10, 13/08/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Тогда в арче уже и нет никакой уязвимости раз в последней версии ядра починили.
     
  • 2.30, Аноним (15), 12:51, 13/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Полигамные ядра(которые не LTSC) всегда тестируются на роллинг релизах.. чтобы потом превратиться в стабильные. Закон природы!
     
  • 2.34, Ананям (?), 14:11, 13/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    https://archlinux.org/packages/core/x86_64/linux-lts/
     

  • 1.21, Аноним (21), 11:33, 13/08/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    grep CONFIG_USERFAULTFD /boot/config-5.10.0-16-amd64
    CONFIG_USERFAULTFD=y

    Стоковое ядро в Дебиане.

     
     
  • 2.22, Аноним (15), 11:34, 13/08/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    сейчас тебе выскажутся, что это старьё никому ненужно
     
  • 2.27, Admino (ok), 12:16, 13/08/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Проблема проявляется начиная с ядра 5.16
     
     
  • 3.71, Аноним (-), 07:27, 14/08/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Как ни странно пример того что стабилизей спас от вулна. Хотя userfaultfd в принципе с точки зрения безопасности смотрится плохо.
     
     
  • 4.83, Аноним (83), 01:10, 15/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Именно так.
     

  • 1.70, Аноним (-), 07:26, 14/08/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > с опцией CONFIG_USERFAULTFD=y

    Мне эта опция сразу не понравилась и я ее отрубил. Незачем юзермоду в такие вещи вообще соваться.

     
  • 1.81, Аноним (81), 22:13, 14/08/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кстати скажите а почему в Debian 7, если выполнить mount без параметров, никаких tmpfs нету, а если в Debian 8, то огромная куча всяких примонтированных tmpfs? Что это?
     
     
  • 2.89, Michael Shigorin (ok), 09:45, 16/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    покажите на всякий вывод type mount; alias mount
     
  • 2.92, ьок (?), 10:08, 16/08/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так в 7 не было системдэ, а в 8 появилось
     

  • 1.87, Аноним (31), 04:15, 16/08/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кстати, прототип не работает. Без аргументов типа работает, а на реальном файле нет, фейлится на UFFDIO_REGISTER. До чего низкосортный кейс, я разочарован. CVE-2022-0847 вот просто конфетка была, а это…
     

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



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

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