The OpenNET Project / Index page

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

Ещё одна уязвимость в подсистеме ядра Linux Netfilter

06.06.2022 09:35

В подсистеме ядра Netfilter выявлена уязвимость (CVE-2022-1972), похожая на проблему раскрытую в конце мая. Новая уязвимость также позволяет локальному пользователю получить права root в системе через манипуляции с правилами в nftables и требует для проведения атаки доступа к nftables, который можно получить в отдельном пространстве имён (network namespace или user namespace) при наличии прав CLONE_NEWUSER, CLONE_NEWNS или CLONE_NEWNET (например, при возможности запуска изолированного контейнера).

Проблема вызвана ошибкой в коде для обработки set-списков с полями, включающими несколько диапазонов, и приводит к записи за пределы выделенной области памяти при обработке специально оформленных параметров списка. Исследователям удалось подготовить рабочий эксплоит для получения прав root в Ubuntu 21.10 c ядром 5.13.0-39-generic. Уязвимость проявляется начиная с ядра 5.6. Исправление предложено в виде патча. Для блокирования эксплуатации уязвимости в обычных системах следует убедиться в отключении возможности создания пространств имён непривилегированными пользователями ("sudo sysctl -w kernel.unprivileged_userns_clone=0").

Кроме того, опубликованы сведения о трёх уязвимостях в ядре, связанных с подсистемой NFC. Уязвимости позволяют вызвать аварийное завершение работы через выполнение действий непривилегированным пользователем (более опасные векторы атаки пока не продемонстрированы):

  • CVE-2022-1734 - обращение к уже освобождённой памяти (use-after-free) в драйвере nfcmrvl (drivers/nfc/nfcmrvl), проявляющееся при симуляции устройства NFC в пространстве пользователя.
  • CVE-2022-1974 - обращение к уже освобождённой памяти в netlink-функциях для устройств NFC (/net/nfc/core.c), проявляющееся при регистрации нового устройства. Как и прошлая уязвимость проблема может быть эксплуатирована через симуляцию устройства NFC в пространстве пользователя.
  • CVE-2022-1975 - ошибка в коде загрузки прошивок для устройств NFC, которую можно использовать для вызова состояния "panic".


  1. Главная ссылка к новости (https://www.openwall.com/lists...)
  2. OpenNews: На соревновании Pwn2Own 2022 продемонстрировано 5 взломов Ubuntu
  3. OpenNews: Уязвимость в ядре Linux, позволяющая исказить файлы, доступные только для чтения
  4. OpenNews: В ядре Linux выявлены эксплуатируемые уязвимости в nf_tables, watch_queue и IPsec
  5. OpenNews: Уязвимость в подсистеме ядра Linux perf, позволяющая поднять привилегии
  6. OpenNews: Уязвимость в подсистеме ядра Linux Netfilter
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/57305-netfilter
Ключевые слова: netfilter, linux, kernel
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (74) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 09:44, 06/06/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Хотя бы не заметают под ковёр, когда закладки находят, как это делают с проприетарщиной.

    >sysctl: cannot stat /proc/sys/kernel/unprivileged_userns_clone: No such file or directory

    о чём это говорит?

     
     
  • 2.2, какая разница (?), 09:53, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    И подтверждение словам имеется?
     
     
  • 3.27, Аноним (27), 12:58, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    CVE-2022-1972 - Какое тебе ещё подтверждение?
     
     
  • 4.69, Кочегар (ok), 08:47, 07/06/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    2022-1972... Нифига себе, ровно полвека замалчивали!
     
     
  • 5.74, Аноним (-), 13:36, 09/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Первые 20 лет Linux тоже замалчивали. Высокосекретный проект рептилоидов.
     
  • 2.3, Аноним (3), 09:54, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А есть какие-то примеры? Я не отрицаю наличие таких, просто лучше раз увидеть чем... Я вот могу с два десятка накидать примеров где в открытых проектах или не чинят уязвимость годами (порой десятилетиями), или не признают уязвимость уязвимостью или вообще пытаются столкнуть ответственность на другой проект. Мол, это не наша софтина дырявая, а используемая нами либа, и неважно что программы других разработчиков с этой же либой подобных проблем не имеют.
     
     
  • 3.5, какая разница (?), 09:56, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А такие программы есть?
    Если что, то я не подкалываю..
     
     
  • 4.7, Аноним (7), 10:12, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Пошерсти здешние новости по ключевым словам, я о ~60% всех случаев узнал отсюда. Из того что помню, очень "медленной реакцией" на уязвимости отметилась Canonical и Apache, переводом стрелок разрабы 7zip'а (по-моему тоже здешняя новость), об уязвимостях нефикшеных десятилетиями писала OSSRA (самой старой вроде 30 лет). Я могу расписать нормально, но только ближе к вечеру, когда дома буду.
     
     
  • 5.10, Аноним (1), 10:22, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Примеры так себе, было бы тоже интересно послушать о настоящих. И 7zip это разве не та гпл программа, для которой автор годами не даёт исходники? Но вообще, имеет смысл обсуждать только приличные проекты. Могильник и Убунта тоже не особо приличные организации, чтобы принимать их во внимание. Стоит смотреть на конкретный софт и его разрабов, вряд ли они свой денвер оставили бы дырявым в продакшене.
     
     
  • 6.14, Аноним (7), 10:27, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Не переживай примеров там хватает, я просто большей половины уже не помню, или помню частично те нужно удостоверится что я ничего не путаю, память уже не та. Доберусь до домашнего компьютера накидаю нормальный список со ссылками.
     
     
  • 7.63, i (??), 00:31, 07/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Про чувака, который аудит безопасности делал, и подписывал не разглашение на 10 лет, а через 10 лет угадайте что, никто ничего не исправил, как его звали...
     
  • 3.6, Аноним (1), 10:06, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Так заметают, это сказывается на стоимости акций знаете ли. Знаю, что у Адобы было много приколов в своё время, вряд ли с тех пор много изменилось. МС всегда старательно прячет детали и максимально отстранённо упоминает исправления эпических дыр, и если ты не тусуешься в тех кругах, то и не узнаешь никогда. Деньги, деньги…
     
  • 3.15, Аноним (15), 11:13, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    В открытых проектах ты можешь сам просто взять и переписать всё подсебя и без уязвимостей. В отличии от проприетарного говнища, который ты даже если захочешь не сможешь форкнуть.
     
     
  • 4.16, Попандопала (?), 11:19, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Инженеры с высшим образованием пишут с нуля,как я тут читал. Таким проприетарщина нестрашна от слова совсем. И плакаться по  чужому коду такие спецы не станут.D Берите пример.
     
     
  • 5.66, Аноним (66), 08:25, 07/06/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Точно, тут только так и принято Сначала вышеуказанные инженеры машинными кодами... большой текст свёрнут, показать
     
  • 4.45, какая разница (?), 15:20, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > ты можешь сам просто взять и переписать всё подсебя и без уязвимостей

    А все у нас программисты?

     
     
  • 5.67, Аноним (66), 08:29, 07/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Он у нас как та сова в анекдоте про сову и мышей - "Я не тактик, я - стратег !"
     
  • 5.68, Аноним (66), 08:39, 07/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ну и раз он ВСЁ может переписать "подсебя" (да еще без уязвимостей!) то у него похоже времени куча и всё остальное сделано (кроме не мешающей переписыванию основной работы доставщиком пиццы еще и дом воспитан, дерево построено, сын посажен...). По логике - бессмертный он, выходит: сотню человеколет туда вбрость, один человековек сюда... - г.вно вопрос.
     
  • 2.4, какая разница (?), 09:54, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > как это делают с проприетарщиной.

    Я об этом..

     
  • 2.19, Аноним (19), 11:53, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> sysctl: cannot stat /proc/sys/kernel/unprivileged_userns_clone: No such file or directory
    > о чём это говорит?

    О том, что у вас не Debian (этот sysctl специфичен для их ядер и производных).

     

  • 1.8, Прохожий (??), 10:18, 06/06/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Мышки плакали, мучались, но продолжали есть кактус. Вместо того, чтобы переходить на нормальный язык программирования, из год в год наступаем на одни и те же грабли с памятью.
     
     
  • 2.12, Аноним (12), 10:22, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    На Dlang.
     
     
  • 3.20, Аноним (20), 11:53, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    + плюсую
     
  • 2.13, Аноним (1), 10:25, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    "Нормальный" язык слишком часто падает и паникует, чтобы оставаться сколько-нибудь юзабельным. Ошибки с памятью не исключают 9/10 других ошибок, так что попробуй потоньше накидывать.
     
     
  • 3.17, Аноним (-), 11:44, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ну да, паника это плохо, лучше молча получать рут))
     
     
  • 4.22, Бывалый смузихлёб (?), 12:28, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    у него есть какая-то встроенная неспособность получать рут ?
     
     
  • 5.56, Аноним (56), 17:11, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Практически во всех языках, кроме сишки и крестов, с непредвиденным получением рута всё сложно.
     
     
  • 6.59, Аноним (1), 17:45, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Только в языках без джита и ффи, их не так и много.
     
     
  • 7.70, Аноним (19), 12:36, 07/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    В языках (на самом деле - интерпретаторах с JIT) дыры из-за кривых рук разработчиков JIT.
    В сишке и крестах - дыры из-за кривых рук разработчиков конечных программ. Это на много порядков больше.
     
     
  • 8.71, fi (ok), 17:07, 07/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    LOL если вспомнить что интерпретаторах с JIT пишут с кривыми рука разработч... текст свёрнут, показать
     
  • 3.73, Аноним (73), 22:17, 08/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Ошибки с памятью не исключают 9/10 других ошибок

    По статистике гугла, ошибки с памятью при использовании си-подобного добра составляют 70%. Очень-очень полезно было бы избавиться от этих ошибок. Использовать тут слоган - "или ВСЕ ошибки исключить или тогда уже оставить как есть" - глупо.

     
  • 2.34, _hide_ (ok), 13:24, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Не подскажите, каким образом может "нормальный язык" решить проблемы с обращением к памяти в модулях ядра?
    Большое спасибо.
     
  • 2.51, Аноним (51), 16:12, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Эй Прохожий - проходи..
     
  • 2.64, Аноним (64), 00:35, 07/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Мышки плакали, мучались, но продолжали есть кактус

    Ну да. Вянтузятники как сидели в ущербной системе так и сидят.

     
     
  • 3.65, какая разница (?), 05:38, 07/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А вы продолжаете орать этот бред, но wine используете именно для запуска программ для windows..
     

  • 1.9, Аноним (12), 10:22, 06/06/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Это очень хорошая новость. Раз она есть, значит уязвимость нашли. А раз нашли, значит исправят.
     
     
  • 2.11, Аноним (12), 10:22, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Побольше бы таких новостей.
     
     
  • 3.18, Аноним (-), 11:47, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Больше новостей -> больше уязвимостей нашли -> больше уязвимостей было...
    Oh, wait!
     
     
  • 4.28, Аноним (27), 12:59, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    -> больше исправили
     
  • 2.36, ИмяХ (?), 13:32, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >>А раз нашли, значит

    значит энтузиасты уже наклепали сотни эксплоитов, которые крадут конфиденциальные данные.

     
     
  • 3.52, Аноним (52), 16:15, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Разве крадут энтузиасты?
     
     
  • 4.57, Аноним (56), 17:12, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Не важно, кто крадёт, важен сам факт, что крадут.
    Или даже - теоретически могут украсть.
     
     
  • 5.60, Аноним (60), 18:21, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Теоретически, я могу вычислить тебя по айпи, прийти к тебе домой и напугать твою канарейку. Но практически делать этого конечно же не буду, у меня есть дела поинтереснее. Так и тут. Мало найти уязвимость, нужно ещё найти чего украсть через неё. А там, где есть чего красть, зачастую практикуют security in depth, так что одной уязвимостью не обойдёшься.
     

  • 1.21, Аноним (21), 11:55, 06/06/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ну вот, опять...
     
  • 1.23, hohax (?), 12:30, 06/06/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > убедиться в отключении возможности создания пространств имён непривилегированными пользователями ("sudo sysctl -w kernel.unprivileged_userns_clone=0")

    И как понять, что сломается после такого хука?

     
     
  • 2.25, Бывалый смузихлёб (?), 12:36, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это почти как с недавними планами развития перла "обратная совместимость в дальнейшем будет сохраняться за исключением закрытия уязвимостей". Вот и угадай потом, что и когда вдруг отвалится в глубинах кода, который отлично работал многие годы
     
  • 2.30, Аноним (19), 13:05, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > И как понять, что сломается после такого хука?

    LXD, скорее всего. Он завязан на user namespaces

    > On most hosts, LXD will check /etc/subuid and /etc/subgid for allocations for the “lxd” user and on first start, set the default profile to use the first 65536 uids and gids from that range.
    > If the range is shorter than 65536 (which includes no range at all), then LXD will fail to create or start any container until this is corrected.

    А вот разрабам докера это пилить было лень. Там все понятно: если рут в контейнере - то рут и на хосте.

     
     
  • 3.33, hohax (?), 13:14, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    У меня хост c LXC



    sysctl -a | grep -c kernel.unprivileged_userns_clone
    0



    давно работает. На LXD еще такое не пробовал.
     
     
  • 4.35, Аноним (19), 13:29, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    На lxc это специально включать надо.
    А lxd - он "для блондинок", там всё из коробки.
     

  • 1.24, Бывалый смузихлёб (?), 12:34, 06/06/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Это, навскидку, и пары недель не прошло с обнаружения прошлой дырени в нэтфилтре
    Возможно, даже первая неделя только-только подошла к концу

    Респект таким высоколобым гениям, которые наизусть знают все требования к оформлению кода и пишут идеальный код
    Разумеется, дырявый не менее куска хорошего сыра, но полностью соответствующий всем формальным критериям, проходящий все осн проверки и потому попадающий в релиз

    А вы всё вебмакаки да вебмакаки

     
     
  • 2.26, Аноним (1), 12:47, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Так потому и нашли, что раньше не искали, или даже не знали где искать, а тут всё очевидное повылезало.
     
     
  • 3.46, какая разница (?), 15:24, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ну если раньше "не знали" где искать, а тут "кавычка все решила", то чем это не закладка?
     

  • 1.29, Аноним (29), 13:03, 06/06/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Лично у меня порой складывается впечатление, что в системном программировании люди вообще не слышали о таком понятии как тестирование🤦 (а если и слышали, то не в курсе какие входные данные нужно при этом использовать)
     
     
  • 2.31, Аноним (19), 13:06, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Сишники, сэр. "Наш код не дыряв, потому что у нас прямые руки!"
     
  • 2.32, Аноним (29), 13:08, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Я конечно не мега гуру в Си, но вот например если работа с памятью ведется через стандартный malloc и free, что мешает для защиты тупо написать простейший макрос такого рода:
    #define free(p) (free(p), (void)((p) = 0))
     
     
  • 3.37, наноим (?), 13:39, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    ответ на твой вопрос в первом предложении твоего коммента
     
     
  • 4.40, Аноним (29), 14:02, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    а вы я так понимаю гуру?
     
  • 3.38, Аноним (38), 13:43, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ты не поверишь, но можно и выход за границы массива проверять и валидность printf-спецификаторов. Но сишники удавятся за каждую лишнюю наносекунду (особенно, как я подозреваю, во всякой embedded'овщине). Поэтому между скоростью и безопасностью, выбирают первое (измеряется в количествах дыр в секунду).
     
     
  • 4.41, Аноним (29), 14:25, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    хм... странная логика у сишников конечно!
    Помнится ещё Страуструп писал: не важно, как быстро ра­ботает ваша программа, если она выдает неправильные результаты! (ну или в нашем случае если она в конечном итоге дырявая)
     
     
  • 5.55, Аноним (56), 17:10, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    На практике немного иначе: неважно, насколько дырява ваша программа, если она написана на трушной, олдовой, правильной сишке.
    О безопасности пусть смузи-девляпсы думают.
     
     
  • 6.72, Аноним (72), 07:57, 08/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Девяпсы и думать это антонимы.
     
  • 4.42, Аноним (42), 14:43, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ох, будто в других языках кто-то что-то проверяет. Там удавятся за лишнюю строчку, которая будет что-то там сверять, потому что спринт надо скорей закрыть.
     
     
  • 5.54, Аноним (56), 17:08, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Поэтому в других языках проверки производятся автоматически, без ручной копипасты каждый раз.
     
  • 2.43, Аноним (42), 14:44, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Вот тебе способ сделать вклад в опенсорс. Берёшь и тестируешь, если они не умеют.
     
     
  • 3.47, Аноним (29), 15:33, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Я иногда пишу тут в комментариях, про всякие найденные косяки Например, как то... большой текст свёрнут, показать
     
     
  • 4.49, Аноним (1), 15:46, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Всё, что не глибц, не для общего применения. Например, в интернет выставлять нельзя. А на встройках баги и дыры, да кто их там найдёт, кому это интересно? Так и живут, программисты, етить.
     
     
  • 5.50, Аноним (29), 16:03, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >>> кому это интересно? <<<

    мне:) но как я уже сказал, по-серьезному, бесплатно я таким заниматься никогда не буду!

     
     
  • 6.58, Аноним (56), 17:13, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Значит, не так уж и интересно.
     
     
  • 7.61, Аноним (29), 19:17, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >>>  Значит, не так уж и интересно. <<<

    Просто за это мало платят:(

     
  • 4.53, Аноним (52), 16:22, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > а это говорит, что там тоже о тестрировании мало что слышали:)

    План роста требует жертв: Ничего лишнего, только рост. 😊

     
  • 2.62, microsoft (?), 21:37, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    И тут ты такой в белом выходишь из-за угла, ииии как начинаешь нам рассказывать и показываиь, как надо это все делать? Что? Нет? Ну вот... всегда так.
     

  • 1.39, Ананоним (?), 13:49, 06/06/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Надо было писать на Ada.
     
     
  • 2.44, Тыква (?), 15:03, 06/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Пиши
     

  • 1.48, псевдонимус (?), 15:45, 06/06/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Опять неймспейс. Вечная дырка.
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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