The OpenNET Project / Index page

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

Уязвимость в libnv во FreeBSD и уязвимости в Netfilter в Linux

30.09.2024 08:42

В выпущенном в начале сентября исправлении уязвимости в библиотеке libnv выявлена логическая ошибка, из-за которой уязвимость не устранялась должным образом и система оставалась подвержена атаке. Библиотека libnv развивается проектом FreeBSD и используется в ядре и в приложениях из базовой системы для обработки списков в формате ключ/значение и для организации передачи данных при межпроцессном взаимодействии. Библиотека основана на алгоритме nvlist, применяемом в проекте OpenZFS, но во FreeBSD создана собственная реализация, поэтому уязвимость не затрагивает OpenZFS.

Уязвимость вызвана целочисленным переполнением, приводящим к выделению буфера, размером меньше, чем записываемый в буфер блок данных. Допущенная ошибка потенциально может использоваться для повышения своих привилегий путем перезаписи областей памяти в ядре и системных процессах, например, libnv применяется в libcasper при взаимодействии между привилегированным и не привилегированным кодом. Корректное исправление уязвимости (CVE-2024-45287) предложено в обновлениях 14.1-RELEASE-p5, 14.0-RELEASE-p11, 13.4-RELEASE-p1 и 13.3-RELEASE-p7, а также в форме патча.

Во FreeBSD также устранена уязвимость (CVE-2024-41721) в гипервизоре bhyve, потенциально позволяющая добиться выполнения кода в процессе, выполняемом на стороне хост-системы (обычно с правами root, но изолирован sandbox-ом на базе Capsicum), при манипуляциях внутри гостевой системы. Уязвимость присутствует в коде для эмуляции USB-контроллера XHCI и вызвана недостаточной проверкой границ буфера, что может привести к чтению данных из области вне буфера, а также потенциально к возможности записи в произвольную область памяти процесса. Атака может быть совершена при возможности запуска привилегированных процессов в гостевой системе. Уязвимость устранена в обновлениях FreeBSD 14.1-RELEASE-p5, 14.0-RELEASE-p11, 13.4-RELEASE-p1 и 13.3-RELEASE-p7.


Кроме того, можно отметить публикацию рабочих прототипов эксплоитов и описаний методов эксплуатации для выявленных ранее уязвимостей в ядре Linux CVE-2024-26808 и CVE-2024-1085. Проблемы устранены в обновлениях ядра 5.10.210, 5.15.149, 6.1.76, 6.6.15, 6.7.3 и 6.8, и уже исправлены в основных дистрибутивах (Debian, Ubuntu, RHEL, SUSE, Fedora). Уязвимости вызваны обращением к уже освобождённой области памяти в функциях nft_chain_filter и nft_setelem_catchall_deactivate в подсистеме netfilter и позволяют добиться выполнения кода с правами root. Для проведения атаки требуется наличие доступа к nftables, который можно получить при наличии прав CAP_NET_ADMIN в любом пространстве имён идентификаторов пользователей (user namespace) или сетевом пространстве имён (network namespace), предоставляемых, например, в изолированных контейнерах.

Эксплоиты подготовлены участниками инициативы KernelCTF (Kernel Capture the Flag), в рамках которой компания Google выплачивает вознаграждения за выявление уязвимостей в ядре Linux. Изначально проблемы рассматривались как одни из многих проходных потенциальных уязвимостей в ядре - например, в июньском обновлении пакета с ядром 5.10 в Debian помимо CVE-2024-26808 было исправлено ещё 345 (!) потенциальных уязвимостей. Еженедельно в ядре выявляется несколько десятков новых уязвимостей, которые ранее не были отождествлены с проблемами с безопасностью (например, на прошлой неделе было помечено 68 уязвимостей).

  1. Главная ссылка к новости (https://www.freebsd.org/securi...)
  2. OpenNews: Уязвимости во FreeBSD, позволяющие повысить свои привилегии или обойти изоляцию гостевой системы
  3. OpenNews: Релиз FreeBSD 14.1 с улучшенным звуковым стеком и поддержкой cloud-init
  4. OpenNews: FreeBSD переходит на сокращённый цикл подготовки релизов
  5. OpenNews: Уязвимость в поставляемом во FreeBSD варианте OpenSSH, допускающая удалённое выполнение кода
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/61956-freebsd
Ключевые слова: freebsd, libnv, bhyve, linux, netfilter
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (18) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 09:01, 30/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    >было исправлено ещё 345

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

     
     
  • 2.3, Аноним (3), 09:12, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Вот это приплёл...
     
  • 2.4, Аноним (4), 09:13, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А какой справляется?
     
     
  • 3.13, Аноним (13), 10:44, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Turbopascal)
     
  • 2.17, Аноним (-), 10:54, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Очевидно, язык не справляется со своими задачами.

    А причем тут язык?
    Тут проблемы в квалификации! Надо менять подходы.
    Например, для PR в ядро, обязать чтобы код проходил стат. анализаторы, добавить фаззинг, публично осуждать бракоделов (можно взять Линуса и дать ему затачу показывать им пальцы)


     
     
  • 3.18, Аноним324 (ok), 11:09, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > публично осуждать бракоделов (можно взять Линуса и дать ему затачу показывать им пальцы)

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

     

  • 1.5, Аноним (5), 09:23, 30/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Тaк это, гдe жe нash mиkе тo?
     
     
  • 2.7, Ося Бендер (?), 09:43, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Бесполезно шифроваться, комментарий до обеда не проживет...
     

  • 1.6, Аноним (-), 09:26, 30/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > обращением к уже освобождённой области памяти в функциях
    > и позволяют добиться выполнения кода с правами root

    Ha-ha.
    Classic.

     
  • 1.8, Ося Бендер (?), 09:44, 30/09/2024 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     
  • 1.9, Fracta1L (ok), 09:51, 30/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Сишка тут ни при чём, я повторяю, сишка ни при чём!
     
  • 1.10, Аноним (10), 09:52, 30/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > в июньском обновлении пакета с ядром 5.10 в Debian помимо CVE-2024-26808
    > было исправлено ещё 345 (!) потенциальных уязвимостей

    Мда... Знатное peшeто это ваше ядро.
    Вот что бывает, когда десятилетиями омнокодят и кладут болтяру на безопасность.
    Думаю что в ядре ситуация еще хуже чем в иксах))

     

  • 1.12, Аноним (12), 10:24, 30/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Неужели целочисленное переполнение нельзя отследить на этапе компиляции и какой-нибудь варн показать? Вроде бы проблеме сто лет в обед, а всё равно раз за разом повторяется
     
     
  • 2.14, topin89 (ok), 10:46, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Некоторую часть можно компиляторами, ещё часть статическими анализаторами можно. Большую часть только при живом запуске на тестах. Что поделаешь, программирование на C и C++ -- это хотьба на канате над пропастью. Чуть зазевался -- и лови CVE.
     
  • 2.15, Аноним (15), 10:50, 30/09/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.16, Аноним (15), 10:52, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > на этапе компиляции и какой-нибудь варн показать

    Разработчики на Rust сейчас: ты не поверишь!

     
     
  • 3.19, Аноним (12), 11:22, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А что в расте? Там варн? Или не даёт скомпилировать, пока явно не защитишься от переполнения? (я не знаком с растом)
     

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



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

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