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 обязательно


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

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

     
     
  • 2.3, Аноним (3), 09:12, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Вот это приплёл...
     
     
  • 3.81, Кулёк (?), 18:22, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А, что, это не очевидно С чем же ещё Читайте что написано, опять и опять Уяз... большой текст свёрнут, показать
     
     
  • 4.101, Аноним (101), 21:00, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    1. Rust - не прогресс.
    2. Python - не прогресс.
    3. Гугль думает только о собственном кармане.
    4. Кому нужна повышенная надёжность - пожалуйста, используйте Redox или Ironclad (формально верифицированное ядро на Ada).
     
     
  • 5.103, Минона (ok), 21:47, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А редокс тоже формально верифицирована?
     
     
  • 6.111, Аноним (111), 22:50, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Нет. Инструменты для Rust ещё только развиваются, типа Verus
     
  • 4.108, Ivan_83 (ok), 22:45, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Пересмотрите бойцовский клуб на досуге, только когда они в самолёте будут беседовать про авто аварии замените это на ошибки в коде и вы всё поймёте в этой жизни.

    Только у фанатиков есть цель победить все ошибки и уязвимости, обычным людям надо чтобы нечто работало с минимальными затратами.
    Ошибки, уязвимости - вообще не проблема, пока не случается как у краудстрайка фигня которая всё ломает.

     
     
  • 5.127, Аноним (-), 00:24, 01/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А откуда ты узнаешь что оно вылезет для одного пользователя или для почти всех дистрибутивов?
    Небось авторы CUPS тоже думали "ну написал я плохой код, ну что может случиться".

    А по поводу автоаварий - вон тойотовцы уже написали код абыкак - убили больше сотни человек.

     
     
  • 6.136, Ivan_83 (ok), 02:25, 01/10/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну убили, с кем не бывает.
    Теперь бери формулу из БК и считай сколько надо трупов чтобы отозвать партию определённого размера :)

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

     
     
  • 7.138, Аноним (-), 04:35, 01/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    ЧСХ хруст в конфигурации как тойота - не поможет вообще совсем никак Он такое п... большой текст свёрнут, показать
     
  • 7.146, Аноним (146), 11:34, 01/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну так когда тебя какой-то такой же бракодел угробит, надо будет в эпитафии напи... большой текст свёрнут, показать
     
     
  • 8.163, Ivan_83 (ok), 22:07, 01/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Забавно как вы со своей шизой топите за безопасный код и даже близко не подозрев... большой текст свёрнут, показать
     
     
  • 9.172, Аноним (-), 12:07, 02/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Чувак, сейчас в мире куча стран перебрасывается ракетами, бомбами, а на горизонт... большой текст свёрнут, показать
     
     
  • 10.174, Ivan_83 (ok), 19:59, 02/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вы со своей фиксацией на программных деффектах как псих который готовится к наше... текст свёрнут, показать
     
  • 5.128, Аноним (128), 00:25, 01/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Сколько лжи в паре предложений Не все, а только 70 , но каких Из-за которых ... большой текст свёрнут, показать
     
     
  • 6.137, Ivan_83 (ok), 02:27, 01/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Так не качайте и используйте мои хэлловорлды, тем более бесплатно, а я как писал так и буду дальше писать.
     
  • 2.4, Аноним (4), 09:13, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А какой справляется?
     
     
  • 3.13, Аноним (13), 10:44, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Turbopascal)
     
     
  • 4.42, Аноним (42), 12:42, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    В нём тоже указатели можно.
     
  • 2.17, Аноним (-), 10:54, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Очевидно, язык не справляется со своими задачами.

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


     
     
  • 3.109, Ivan_83 (ok), 22:46, 30/09/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.23, Аноним (23), 11:29, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А что, задача была в безопасность? Вы, когда пишете код, сильно про безопасность думаете? Что ж вы так за безопасность переживаете? Есть примеры, когда лично ваш ПК пострадал из-за дыр в безопасности?

    Пс. Не к вам лично вопрос, а к обществу, которое бурно реагирует на такие новости.

     
     
  • 3.30, Аноним (30), 11:41, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Вы, когда пишете код, сильно про безопасность думаете?

    думать о безопасности, задача безопасников!

     
  • 3.54, Аноним (54), 14:43, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    У кого-то ведь в ответственности не только личные ПК с игрульками. Приходится думать.
     
     
  • 4.78, Аноним (78), 18:20, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Да. У кого-то где-то, но не у вас. Вы-то что так бурно реагируете на новости о безопасности?
     
  • 3.63, YetAnotherOnanym (ok), 15:47, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Задача всегда в безопасность. Была, есть и будет.
     
     
  • 4.80, Аноним (78), 18:22, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ваши вычислительные мощности как-то пострадали от дыр?
     
     
  • 5.160, YetAnotherOnanym (ok), 15:57, 01/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Это обязательно?
     
  • 3.70, Активист (?), 16:56, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Что за обществу вы задаёте вопрос? Может быть вы задаёте его так называемому "сообществу"? Тогда я уверю вас, что стакан недостаточно полон, чтобы из него что-то выплёскивалось при бурлении.
     
  • 2.38, Аноним (42), 12:34, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Надо полагать, что большинство связаны с комитерами, коих >2000 бывает. Всех не проверишь. Наверняка, есть и от организаций с трёхбуквенными названиями.
     
     
  • 3.52, Аноним (52), 14:26, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Другой язык программирования никак не сможет проверить этих 2000 а три буквы вставят что надо на любом языке. Даже на языке жестов.    
     
  • 3.55, Аноним (54), 14:44, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Так сам финский студент на три буквы работает.
     
     
  • 4.71, Активист (?), 17:02, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Да, да. Хоть Гугль то почитайте.
     
  • 2.100, Аноним (101), 20:49, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >язык не справляется со своими задачами

    Задача Си - быть кроссплатформенным языком ассемблера для написания небольших операционных систем, как Unix. На что-то другое его создатели не нацеливали.
    Ритчи и Томпсон сильно удивились когда на Си стали делать ОСы из миллионов строк кода.

     

     ....большая нить свёрнута, показать (33)

  • 1.10, Аноним (10), 09:52, 30/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    > в июньском обновлении пакета с ядром 5.10 в Debian помимо CVE-2024-26808
    > было исправлено ещё 345 (!) потенциальных уязвимостей

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

     
     
  • 2.11, Аноним (11), 10:21, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Надо было Hurd развивать, а не вот это вот всё.
     
     
  • 3.56, Аноним (54), 14:47, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Но к большому сожалению академические мужы оказались более тщепетмльны и медлительны, чем финский скорострел. Вышло как вышло.
     
     
  • 4.64, Аноним (-), 15:55, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > к большому сожалению

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

     
  • 4.72, Активист (?), 17:05, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А не то вышло бы как паровоз в 21 веке. (Я понимаю, что вам луддитам того и надо).
    Так фряха же есть более-менее окаменелая. Но почему-то вы туда не спешите.
     
  • 3.62, Аноним (62), 15:44, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Надо было Hurd развивать, а не вот это вот всё.

    Если бы такие, как вы, принципиально отказались бы от использования небезопасных систем типа linux, и принципиально использовали бы только системы на базе хурд, то, возможно, Линус бы и задумался. Но вы ж бежите на небезопасное, делаемое тяп-ляп, которое скомпилировалось - и хорошо. Потому корпорации и не развивают хурд и подобные, а вкладываются в линукс - это проще, думать шибко не надо, и вместо программистов можно индусов нанять.

     

  • 1.12, Аноним (12), 10:24, 30/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Неужели целочисленное переполнение нельзя отследить на этапе компиляции и какой-нибудь варн показать? Вроде бы проблеме сто лет в обед, а всё равно раз за разом повторяется
     
     
  • 2.14, topin89 (ok), 10:46, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Некоторую часть можно компиляторами, ещё часть статическими анализаторами можно. Большую часть только при живом запуске на тестах. Что поделаешь, программирование на C и C++ -- это хотьба на канате над пропастью. Чуть зазевался -- и лови CVE.
     
     
  • 3.20, Денис Попов (?), 11:24, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Еще один умник. Причем здесь язык к переполнению? Лишь бы на вентилятор набросить...
     
     
  • 4.24, Аноним (24), 11:31, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Очевидно, речь про работу с создаваемыми на ходу объектами. Тогда чтобы найти, нужно разобраться как работает алгоритм. ИИ может что-то и мог бы, но это пока дорого и не совсем доступно.

    И когда работа с памятью идёт вручную, то все недостатки ручной работы - ошибки человека. Автоматизация убирает такое. В каких-то языках автоматика присутствует. Те языки часто хейтят.

     
  • 4.28, Аноним (-), 11:35, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А при том.
    Берем какой-то безопасный язык, например ADA-Spark и смотрим их доку.
    docs.adacore.com/spark2014-docs/html/ug/en/source/overflow_modes.html
    Ого сколько тут всего интересного О_О
    Но самое главное - однозначного!
    Тут нет сишного овна типа "мы тут хз как сложить два числа, пусть компилятор думает, он же умный" с последущим UB.
     
     
  • 5.44, Аноним (52), 12:44, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Только ты забыл упомянуть что ада тормозит.
     
     
  • 6.49, Аноним (-), 14:01, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Только ты забыл упомянуть что ада тормозит.

    Так тебе тормоза или "рут всем и пусть никто не уйдет обиженным" ?
    Нафига вообще какие-то пароли, попытки изоляции и прочее, если нам главное "шобы побыстрее".
    Если тормозит - просто возьмо процессор помощнее, как говорил Тодд.

     
     
  • 7.67, Аноним (52), 16:27, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Давай тогда все на питоне будем писать тогда. Раз не торопимся. Зачем ада.
     
  • 5.97, Mister (??), 19:34, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Используй тогда gmplib никакого переполнения не будет

    Если где-то gmplib и что-то подобное встроено по умолчанию, то это не значит, что так надо везде

    Ещё можешь флаг процессора на переполнение проверять после каждой операции

     
  • 5.112, Ivan_83 (ok), 22:50, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что С не заморачивается такой фигнёй, он транслирует это в машинные инструкции, и как оно там на конкретном железе реализовано его не сильно колышит.
     
  • 2.16, Аноним (16), 10:52, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > на этапе компиляции и какой-нибудь варн показать

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

     
     
  • 3.19, Аноним (12), 11:22, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А что в расте? Там варн? Или не даёт скомпилировать, пока явно не защитишься от переполнения? (я не знаком с растом)
     
  • 3.21, Аноним (21), 11:27, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А что на раст? Там каждое сложение проверяется на переполнение на этапе конь-эпиляции?
     
  • 3.22, Денис Попов (?), 11:29, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Не поверю. Человек должен решать, т.к. иногда именно отсутствия обработки переполнения и ожидается
     
     
  • 4.34, Аноним (52), 11:55, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    За храстовиков все должен решать храст.
     
  • 4.37, Аноним (-), 12:27, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    100%
    Поэтому в языки добавили saturating_add, wrapping_add, overflowing_add, std::add_sat и другие аналогичные операции, которые будут гарантировано давать поведение, нужное разработчику в данном месте.
     
     
  • 5.48, Аноним (52), 13:42, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Языки не нужны код должны писать нейросети.
     
     
  • 6.58, Аноним (54), 14:50, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ваша профессия тем более, её должны выполнять автоматы/роботы.
     
     
  • 7.60, Аноним (52), 14:59, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Нейросети должны писать код для роботов так наступит сингу... Апокалипсис.
     
  • 2.25, Аноним (-), 11:32, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Неужели целочисленное переполнение нельзя отследить на этапе компиляции и какой-нибудь варн показать?

    Так основная проблема не с самим переполнением, а с тем, что его результат напр. используется как индекс.
    И оно пишет непонятно куда, портит память, дарит рут.
    Плюс переполнение signed вообще UB, т.е. одно и тоже переполнение может на разных компиляторах, с разными флагами давать разные результат.

    В "других языках"(с) поведение для signed переполнения зафиксировано.
    А от попытки писать хз куда защищают другие механизмы.
    Плюс можно включить проверку в релизе используя опцию overflow-checks (в дебаге она и так включена, но можно выключить при желании)

     
     
  • 3.173, Аноним (173), 13:43, 02/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > а с тем, что его результат напр.

    вы же приводите конкретный пример поведения, я не могу понять, что ту неопределенного? У любого действия машины вполне определенное состояние, ибо машина Тьюринга в любой момент времени находится в соответствующем состоянии, и все эти состояния детерминированы. UB это чушь стандарта, это тупо не удосужились строго описать то или иное состояние.

     
  • 2.27, Аноним (52), 11:34, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Даже раст в продовой сборке не спасает от переполнения.  
     
     
  • 3.29, Аноним (-), 11:39, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Что значит "не спасет"?. Переполнение это обычное поведение.

    Проблема не в переполнении, а в том что происходит после - т.е порча памяти и рут.
    Пусть она выдает неверный результат - найдем на тестах (хаха, если они у нас есть) или фаззинге.
    Пусть программа падает - получим логи, исправим ошибку.

    Но по тихому сломаться и сделать CVE - от такого точно не должно быть.

     
     
  • 4.32, Аноним (12), 11:49, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А от записи за пределы буфера спасёт?
     
     
  • 5.35, Аноним (-), 12:19, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > А от записи за пределы буфера спасёт?

    Да, вот от этого спасет.
    Проверки на выход за границы есть в релизе по умолчанию.

     
     
  • 6.36, Аноним (12), 12:23, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Получается действительно хороший инструмент, что бы хейтеры не говорили
     
     
  • 7.95, Аноним (52), 19:28, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Нет плохой.
     
     
  • 8.96, Аноним (12), 19:31, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Почему ... текст свёрнут, показать
     
     
  • 9.122, Аноним (111), 23:28, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вопрос простой и наивный, но на все вопросы не будет ответа, надо самому при... текст свёрнут, показать
     
  • 9.150, Аноним (52), 12:57, 01/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что раст создаёт большие проблемы чем якобы решает А не решает потому чт... текст свёрнут, показать
     
  • 4.33, Аноним (52), 11:54, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    На Си тоже самое так что раст не надобен.
     
  • 3.65, Аноним (65), 16:13, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Спасает, если использовать функции вместо оператора +
     
     
  • 4.175, Аноним (175), 20:47, 03/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Так и на Си так можно. Вот и выходит, что Раст не нужен, как ни крути.
     
  • 2.110, Ivan_83 (ok), 22:47, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Нельзя.
    Данные для сложения/умножения можно прочитать из файла или получить по сети.
     

     ....большая нить свёрнута, показать (33)

  • 1.68, Аноним (68), 16:38, 30/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    > вызвана недостаточной проверкой границ буфера

    Есть два типа программистов на Си: первые не проверяют границы буферов, вторые проверяют, но недостаточно. Пожалуй, это всё, что нужно знать о культуре разработки на этом языке.

     
     
  • 2.74, Ivan_83 (ok), 17:41, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Таки приходите когда на вашем чуднОм языке будет написано хотя 0,001% от того что написано на С, и это будут не вариации хэлло ворлда и прочих прог на 10 строк а нечто на 50к+ строк.
     
     
  • 3.77, Аноним (12), 18:12, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Над аргументом "сперва добейся" в интернете ещё двадцать лет назад смеялись
     
     
  • 4.104, Минона (ok), 21:52, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    От чего и выросло поколение не знающее матчасть.
     
  • 4.176, Аноним (175), 20:49, 03/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А сейчас смеются над аргументом "сперва выучи язык, а потом его критикуй".
     
  • 3.79, Аноним (68), 18:21, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > на вашем чуднОм языке

    Это на каком же именно? И при чём тут другие языки к Си? Факт остаётся фактом: сишные кодеры в целом, как культурное явление, не смогли за пятьдесят лет решить типичные проблемы с менеджментом памяти.

     
     
  • 4.89, _ (??), 18:53, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Факт остаётся фактом: никто другой ниасилил массовое, популярное, производительное и (sic!!!) достаточно безопасное (да-да!!) ядро.

    Это ж вам не чистые функции в вакууме, это ж по локоть в мазуте в железных потрохах ковыряться  :(

    Поэтому возьмите свои замечательные и классные языки, без всяких там подколов - замечательные и классные!, и идите ка в свой юзерланд.
    Как добрый старый дяденька вам советую :)

     
     
  • 5.91, Аноним (68), 19:07, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ядро, мазут, локти — это всё понятно, к объективной реальности несовершенства оборудования вопросов нет. Почему память пятьдесят лет течёт и перезаписывается из-за буквально одних и тех же ошибок, и когда это будет исправлено на уровне культуры разработки (про тулинг и стандарт даже не спрашиваю)?
     
     
  • 6.94, Аноним (52), 19:28, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Все исправляется по мире нахождения. Используй друг языки кто тебе мешает?
     
     
  • 7.98, Аноним (68), 20:06, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Мне никто не мешает. Проблема не в моих возможностях, а в плачевном состоянии гигиены в сообществе кодеров на Си.
     
     
  • 8.148, Аноним (52), 12:50, 01/10/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 7.102, Аноним (-), 21:11, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Все исправляется по мире нахождения.

    Вот жаль что врачи так не работают, да?
    "Ой, кажется пила случайно вышла за границы черепа и мы отпилили пациенту мозг... Ну ничего, тут держалку подправим, и возможно в следующий раз повезет"
    Тесты? Зачем! Мы тут все профи.

    > Используй друг языки кто тебе мешает?

    Диды мешают. Всеми силами копротивляются добавлению раста в ядро.
    Не хотят просто лишиться работы по исправлению и добавлению уязвимостей)

     
     
  • 8.123, Аноним (123), 23:41, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Тебе переполнением буфера мозг задело да никто вам не мешает, вы просто делать ... текст свёрнут, показать
     
  • 6.117, Ivan_83 (ok), 23:00, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А вы errata интела, амд и прочих чипмейкеров хоть когда то читали?
    Впрочем что взять с людей свято верующих что раст им может гарантировать безопасную работу с памятью, и сидящих на системах без ECC, где ровхаммер жабаскриптом из браузера делается.
     
     
  • 7.131, Аноним (128), 01:14, 01/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Впрочем что взять с людей свято верующих что раст им может гарантировать безопасную работу с памятью

    У гугловцев к 2022-му году (отчет на тот момент) после пары лет внедрения и использования раста в андроиде, в 1.5 млн строк нового системного кода на расте не всплыло ни одной ошибки работы с памятью. Ни одной, Карл, в полутора миллионах строк кода!

    Цитата из отчета:
    "...To date, there have been zero memory safety vulnerabilities discovered in Android’s Rust code..."

    И это за два релиза андроида!
    "We don’t expect that number to stay zero forever, but given the volume of new Rust code across two Android releases, and the security-sensitive components where it’s being used, it’s a significant result."

    Но надо верить Ване_с_Опеннета, а не гуглу.

     
     
  • 8.132, Ivan_83 (ok), 02:14, 01/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Новый это то что осталось или сумма со всех гит коммитов, а то может полтора лям... текст свёрнут, показать
     
  • 8.149, Аноним (52), 12:53, 01/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Этот самый гугл который в хроме ничего кроме генерации qr кода ничего больше не ... текст свёрнут, показать
     
     
  • 9.156, Аноним (128), 13:39, 01/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ему про полтора миллиона строк кода без единой уязвимости по памяти в андроиде, ... большой текст свёрнут, показать
     
     
  • 10.161, Аноним (-), 15:57, 01/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Хм, но зачем Гугл от ядра зависит, но не так сильно как какая нибудь ИБМ красн... текст свёрнут, показать
     
  • 4.115, Ivan_83 (ok), 22:57, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    У вас шизофрения какой стадии?
    В диагнозе я не сомневаюсь: вы упорно отрицаете реальность в которой подавляющее большинство написано на С само или написано на производном от С продукте, работает на ОС которые написаны на С - других просто не существует (кроме как музейных экспонатов в виртуалке).
    Ни один другой язык не даёт простой и понятный API для линковки с другими языками.
     
     
  • 5.124, Аноним (12), 23:49, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вы бы сами проверились что ли… Вам про Фому, вы про Ерёму. 68-й вам пишет: Сишники пятьдесят лет подряд пишут мимо буфера, а вы ему в ответ «да ты погляди вокруг всё написано на Си». А кто с этим спорил-то? На Си и пишут мимо буфера, как и было сказано.
     
     
  • 6.133, Ivan_83 (ok), 02:15, 01/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Так а в чём проблема то?
    Это же всё работает и используется.
     
  • 5.125, Аноним (-), 00:20, 01/10/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    О, так ты не только программист, но еще и психиатр А случайно для души не так... большой текст свёрнут, показать
     
     
  • 6.134, Ivan_83 (ok), 02:19, 01/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Раст не замена С и даже близко к этому не подошёл, максимум он конкурент (слабенький) плюсам.
    Одной якобы безопасной работы с памятью и синтаксического сахара для многопоточности очень мало чтобы метить в "системные" ЯП.
     
     
  • 7.158, Аноним (68), 15:35, 01/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Да забудь ты про раст, что он тебе всё покоя не даёт? Очевидно, что выкинуть весь сишный код и переписать его на другом языке нереально. Очевидно так же, что никакой другой язык не способен исправить генетические проблемы Си. Вопрос остаётся всё тем же: почему культура разработки на Си такая ужасная, что кодеры пятьдесят лет делают одни и те же — буквально! — ошибки и как это исправить?
     
     
  • 8.164, Ivan_83 (ok), 22:11, 01/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А почему вы думаете что это надо исправлять Вот серьёзно Ошибки в коде слишк... текст свёрнут, показать
     
  • 8.177, Аноним (175), 20:55, 03/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    ИИ сможет исправить, тогда про ошибки с памятью в Си можно будет забыть И про Р... текст свёрнут, показать
     

     ....большая нить свёрнута, показать (26)

  • 1.99, Аноним (101), 20:40, 30/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >вызвана недостаточной проверкой границ буфера ...
    > ...
    >вызваны обращением к уже освобождённой области

    Меня всегда удивляют подобные сообщения об ошибках, откуда они, кто их сделал, почему? На C и C++ программирую с 18 лет, у меня никогда не было подобных ошибок. У коллег тоже не замечал. Ошибки бывают с синхронизацией потоков, с обработкой исключений, из-за недонажатия клавиш при наборе текста, но с памятью - никогда.

     
     
  • 2.106, Аноним (68), 22:13, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну тут одно из двух: либо ты с коллегами решаешь тривиальные задачи не требующие сложного менеджмена памяти, либо просто врёшь.
     
     
  • 3.116, Аноним (111), 22:59, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Да, программы на С были небольшие, несколько драйверов и несколько управляющих программ для встроенных систем по 10-15 тыс. строк кода, но всё же
     
     
  • 4.159, Аноним (68), 15:47, 01/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > несколько драйверов и несколько управляющих программ для встроенных систем

    Как я и сказал, тривиальные задачи. Тут действительно довольно сложно налажать с управлением памятью.

     
  • 3.119, Ivan_83 (ok), 23:07, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Почти все задачи могут быть сведены к примитивному манагементу памяти, просто некоторые люди сильно злоупотребляют malloc()/free().
     
  • 2.118, Ivan_83 (ok), 23:05, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    В просто плохо тестировали :)
    Я тут как то писал парсер proxy proto обоих версий, и как то неожиданно много спотылкался на такой то примитивной задаче, что выяснилось когда я сам же себя ревьювил.

    С памятью бывают ошибки вида: маловато памяти выделил или немножко не туда записал, ASAN прекрасно такое ловит, главное дать ему такую возможность.

     
     
  • 3.121, Аноним (-), 23:26, 30/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > ASAN прекрасно такое ловит

    ASAN ловит только тривиальные случаи. Которые вы вряд ли допустите.
    А когда для повторения нужны "специально оформленные данные", то толку от ASAN практически нет.

     
     
  • 4.135, Ivan_83 (ok), 02:20, 01/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Для этого фазинг придумали.
    Нет, он вполне себе много всего ловит, и не тривиального тоже.
     
  • 4.165, Аноним (-), 22:59, 01/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > ASAN ловит только тривиальные случаи. Которые вы вряд ли допустите.
    > А когда для повторения нужны "специально оформленные данные", то толку от ASAN
    > практически нет.

    Почему же. Если все время под asan гонять - он поймает. А так то CVE и на хрусте можно вкатить. Вон там чудный crate который CVE делает исключительно safe кодом :)

     
  • 2.130, Аноним (128), 00:57, 01/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > На C и C++ программирую с 18 лет

    "... и завтра мне исполнится 19!". Чтобы аргументировать свой опыт стажем нужно или текущий возраст указать (чтобы вычесть 18 лет) или просто назвать стаж программирования. Но вообще глупо и наивно к стажу апеллировать, ведь от человека и от решаемых задач зависит - один за 2 года добъется бОльшего, чем иной за 40 лет или один годами json-ы перекладывает или простые алгоритмы в контроллеры пихает, а другой базы данных нового типа придумывает или востребованные операционки пишет.

    А про отсутствие ошибок... Это эффект Неуловимого Джо. Вы объявИте награду за найденные уязвимости в ваших поделках, как когда-то сделал Дэниел Бернштейн или как сегодня практикуют всякие гуглы, устраивая баг-баунти. Не найдут дыр - тогда и хвалитесь.

     

  • 1.141, мяв (?), 07:26, 01/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    идет 3й год, а софтверных уязвимостей, способных сделать хоть что-то с моим десктопом/сервером - все так же (почти?) нет.
    потому что tomoyo!
     
     
  • 2.142, мяв (?), 07:30, 01/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    думала, кстати, попробовать портировать akari(реализуцию tomoyo, не использующую LSM) под freebsd.
    после быстрого ресерча, оказалось, что это не так уж и сложно.
    возможно, займусь в отпуске.
    тогда можно будет и некоторые ограничения обойти(например, добавить неогран. кол-во acl-групп с именами в тексте).
     
     
  • 3.144, Ivan_83 (ok), 09:29, 01/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А зачем?
    Есть же MAC для любителей везде ограничивать и проверять.
     
     
  • 4.145, мяв (?), 11:06, 01/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    path-based MAC'ов и тем более, MAC'ов, способных индивидуально под систему политики генерить, почти без участия пользователя - нет.
     
     
  • 5.162, Ivan_83 (ok), 21:26, 01/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Там легко накорябать любой свой MAC.
    Я так 1-2 модуля накорябал чтобы без рута давало отдельные штуки делать, кажется для сырых сокетов не руту.
     
     
  • 6.169, мяв (?), 23:52, 01/10/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    зачем изобретать велосипед?
    и да, Вы не МАС описали, а CAP_NET_RAW.
     
     
  • 7.170, Ivan_83 (ok), 02:02, 02/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А я и не хотел описывать мандатный контроль доступа, хотя то что я сделал можно назвать вырожденным частным случаем оного ибо всем стало можно :)

    Там чуть больше:
    static int
    allow_socket_priv_grant(struct ucred *cred, int priv)
    {
    if (!allow_socket_enabled)
    return (EPERM);

    switch (priv) {
    case PRIV_NETINET_RESERVEDPORT:
    case PRIV_NETINET_RAW:
    case PRIV_NETINET_REUSEPORT:
    case PRIV_NETINET_BINDANY:
    return (0);
    default:
    break;
    }

    return (EPERM);
    }

    static struct mac_policy_ops allow_socket_ops =
    {
    .mpo_priv_grant = allow_socket_priv_grant
    };

    MAC_POLICY_SET(&allow_socket_ops, mac_allow_socket,
        "MAC/allow_socket", MPC_LOADTIME_FLAG_UNLOADOK, NULL);

    Это практически весь модуль, без чтения sysctl параметра allow_socket_enabled и инклюдов с лицензией.
    Практически такой же модуль я делал для chroot от юзера, уже даже не помню зачем.

    И собственно моё предложение посмотреть в сторону MAC было потому что там есть всё нужное и этим легко пользоватся: можно сразу начать писать "бизнесс логику" не рыская по ядру в поисках куда бы приткнутся и не заморачиваясь тем что при обновлении системы нужно будет ребейзить свой патч каждый раз.

     
     
  • 8.171, мяв (?), 10:49, 02/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    хм интересно надо бы по их докам поподробнее посмотреть спасибо ... текст свёрнут, показать
     
  • 5.167, Аноним (-), 23:04, 01/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > path-based MAC'ов и тем более, MAC'ов, способных индивидуально под систему политики генерить,
    > почти без участия пользователя - нет.

    Вам не приходило в голову что если чего-то нет и это относительно просто напрогать - то тогда это скорее всего потому что такое комбо просто лишено практического смысла?

    Все эти ACL, модули и безопасности и проч имеют кое что общее. С одной стороны, админу их сложно и канительно настраивать. С другой - из эксплойтов все ваши жалкие потуги вырубаются просто влет. Ну они в силу таких соотношений и не популярны у прагматиков. Ведь по хорошему гиморно должно быть атакующим, а удобно - админам. А у вас все наоборот по сути.

     
  • 3.166, Аноним (-), 23:02, 01/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > думала, кстати, попробовать портировать akari(реализуцию tomoyo, не использующую LSM)
    > под freebsd. после быстрого ресерча, оказалось, что это не так уж и сложно.
    > возможно, займусь в отпуске.

    Остался только вопрос - а зачем это все? Изоляция контейнерами и виртуалками
    1) Радикальнее и спасает от большего числа факапов.
    2) Многократно проще в реализации.

    Собственно поэтому ими все и пользуются, а вон те - удел каких-то странных личностей. А какая-нибудь рутковска делает, вот, таки, CubeOS.

     
     
  • 4.168, мяв (?), 23:49, 01/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    1) виртуализация открывает некоторые дыры в ядре
    2) Вас кто от факапов виртуалки спасет? кто от факапов инита, всех 100500 компонентов de и еще кучи системнмых сервисов?

    >а вон те - удел каких-то странных личностей

    а вот это - фантазии анонима с опеннета. что-то не вижу я в rhel/debian/ubuntu "контейнеров и виртуализации" из коробки. а MAC - пожалуйста.
    Выше, вон, еще человек писал, мол "такая связка лишена смысла".
    видимо, тоже дальше домашнего компа не смотрел и про принцип работы ids не в курсе.

     

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



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

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