The OpenNET Project / Index page

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

Уязвимость в Glibc, позволяющая вызвать крах чужого процесса

17.08.2021 08:38

В Glibc выявлена уязвимость (CVE-2021-38604), дающая возможность инициировать крах процессов в системе через отправку специально оформленного сообщения через POSIX message queues API. В дистрибутивах проблема не успела проявиться, так как присутствует только в выпуске 2.34, опубликованном две недели назад.

Проблема вызвана некорректной обработкой данных NOTIFY_REMOVED в коде mq_notify.c, приводящей к разыменованию указателя NULL и краху процесса. Интересно, что проблема является следствием недоработки при исправлении другой уязвимости (CVE-2021-33574), устранённой в выпуске Glibc 2.34. При этом, если первая уязвимость была достаточно трудна для эксплуатации и требовала сочетания определённых обстоятельств, то совершить атаку с использованием второй проблемы значительно проще.

  1. Главная ссылка к новости (https://blog.tuxcare.com/cve/t...)
  2. OpenNews: Выпуск системной библиотеки Glibc 2.34
  3. OpenNews: Проект Glibc отменил обязательную передачу прав на код Фонду СПО
  4. OpenNews: Критическая уязвимость в реализации функции memcpy для ARMv7 из состава Glibc
  5. OpenNews: В состав Glibc включено исправление уязвимости в memcpy, подготовленное разработчиками ОС Аврора
  6. OpenNews: Уязвимость в Glibc, позволяющая поднять привилегии в системе
Лицензия: CC-BY
Тип: Проблемы безопасности
Короткая ссылка: https://opennet.ru/55646-glibc
Ключевые слова: glibc
Поддержать дальнейшую публикацию новостей на OpenNET.


Обсуждение (125) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 08:52, 17/08/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    Призываю в тред всех тех кто отписывался по поводу недавней уязвимости в стандартной библиотеке Go. Расскажите почему "это другое!"
     
     
  • 2.3, Аноним (3), 08:53, 17/08/2021 Скрыто модератором
  • –14 +/
     
     
  • 3.30, Аноним (30), 09:58, 17/08/2021 Скрыто модератором
  • –5 +/
     
     
  • 4.63, Аноним (63), 12:07, 17/08/2021 Скрыто модератором
  • +5 +/
     
  • 4.70, Аноним (70), 13:09, 17/08/2021 Скрыто модератором
  • +6 +/
     
     
  • 5.71, Аноним (71), 13:15, 17/08/2021 Скрыто модератором
  • +/
     
     
  • 6.75, Аноним (75), 13:26, 17/08/2021 Скрыто модератором
  • +3 +/
     
  • 2.7, Аноним (7), 08:58, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Никто не будет говорить, что "это другое". Во всех языках могут быть уязвимости, во всех процессорах могут быть уязвимости, во всех математических операциях могут быть уязвимости. Просто адепты "безопасных" языков с этим никак смириться не могут и рейдят новости о других "небезопасных" языках. Включите голову немного и исключите из цепочки человек-машина человека - тогда точно никаких узвимостей не будет, я гарантирую это! (ц)
     
     
  • 3.17, Аноним (17), 09:24, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты что если перекрыть один из тысячи векторов ошибок язык мгновенно становится безопасными и весь его софт становится безопасным по определению. Кроме сторонних библиотек и стандартных библиотек на этом языке. Но это не язык виноват он же безопасный.
     
     
  • 4.29, Аноним (30), 09:54, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, допустим, три четверти уязвимостей приходятся на этот один из тысячи векторов.
     
     
  • 5.33, Аноним (33), 10:04, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Допустим одна из тысячи уязвимостей приходится на это вектор.
     
     
  • 6.39, Аноним (30), 10:42, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Допустим, еще и 749 тоже. В сумме как раз 750 получается.
     
  • 2.8, another_one (ok), 09:03, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ага, а вы помнити seg fault?!
     
  • 2.10, Аноним (1), 09:08, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Хаха, да ладно не будут)
    Что же скажет Хан, Урри, Онаним, пох, нах?, стоп, последнего вроде не было...

    ... приводящей к разыменования указателя NULL ...
    > Эпичное смузихлёбство в ретро-академической степени
    > оне художнеги, оне так видют.

     
     
  • 3.26, Аноним (30), 09:49, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Им пофиг на glibc, у них systemd32.dll, в которой дыр нет.
     
  • 3.48, Урри (ok), 11:16, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Урри скажет, что рукожопы. У Урри его сишный код уже много лет не падал, хотя крутится миллионами копий в продакшене на серверах гугла.

    А что?

     
  • 2.12, Онаним (?), 09:10, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • –6 +/
    Потому что сишечки не позиционируют себя как "безопасный езычог".
     
     
  • 3.27, Аноним (30), 09:51, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Ну, всяко побезопаснее хруста, на котором даже за границы буфера фиг выйдешь.
     
  • 3.43, Аноним (30), 10:54, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >  Потому что сишечки не позиционируют себя как "безопасный езычог".

    Так и хруст не позиционируется как супербезопасный. Он позиционируется как нормальный. Как Go, Java, Erlang и множество других, менее распространённых языков. Содержание уязвимостей не более 5% объёма.

    А вот C и C++ позиционируются как ультрасупердырявые языки, состоящие из дыр на 95%, и любой нетривиальный код на них будет содержать как минимум одну дыру.

     
     
  • 4.72, Аноним (70), 13:17, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А, ну раз он позиционируется как нормальный, как и множество других, то нах он тогда нужен с его синтаксисом. Есть множество других с более вменяемым синтаксисом.
     
  • 4.157, Онаним (?), 00:02, 20/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Нормальный? С таким синтаксисом? Хера себе у вас нормальность.

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

     
  • 2.15, Аноним (17), 09:22, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    В про то что была уязвимость и твоём святом растике, ты не написал. Какой же ты смешной)
     
     
  • 3.19, Аноним (1), 09:30, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    А на раст мне пофиг - я на нем не пишу. У Го нет такого пункта в продвижении как "супербезопасный язык".
    Но раз ты уже вспомнил раст, то да, на нем разыменовать NULL тоже бы не получилось.
     
     
  • 4.44, Аноним (30), 10:55, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > У Го нет такого пункта в продвижении как "супербезопасный язык".

    Ну, все более-менее в курсе, что там нельзя просто взять и переполнить буфер.
    А это уже повод для ненависти.

     
  • 2.49, Dzen Python (ok), 11:18, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Легко и просто Сишники, пишущие либси а не орут на каждом углу, что борроу че... большой текст свёрнут, показать
     
     
  • 3.58, Аноним (1), 11:49, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    ну допустим а не проверять на NULL перед разыменованием это чей уровень чува... большой текст свёрнут, показать
     
  • 3.97, Аноним (-), 14:48, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> уязвимости в стандартной библиотеке Go.
    >> Go
    > а) не орут на каждом углу, что борроу чекер и анальные ограничения вне блоков unsafe
    > молодые хрустикофанатики, десятилетиями.
    > В отличие от них, молодое хрустопоколение смуззихрустиков:

    В принципе, достаточно, чтобы составить мнение о "квалификации" очередного "оналитега" (о том, что очередной Эксперд ни на сишке, ни растишке ничего не пишет, можно догадаться из контекста).

    ЗЫ:
    Еще пару раз напиши, кто именно истерику устраивает и в какие новости набегает, чтобы точно-точно никто не перепутал :)


     
  • 3.118, Аноним (118), 18:49, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Легко и просто.
    > Сишники, пишущие либси:

    ...

    Это шикарно!!! Снимаю шляпу. Молодец, красиво и верно. Я даже себе запишу.

     
  • 3.125, freecoder (ok), 22:55, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ну вы же ничего не знаете о той ситуации и делаете прямо противоположные реально... большой текст свёрнут, показать
     
  • 3.134, Брат Анон (ok), 12:21, 18/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Мне как пользователи софта вообще накласть, что дам думают сишники и иже с ними. Я вижу сегфолты, уязвимости и падения прикладнух. Если это сишники победить не могут, а я теряю данные -- я не хочу, чтобы мой софт писали на си, я не хочу, чтобы каждый божий день постили новости об очередном CVE.

    От того, что кто-то передо мной кто-то непрерывно годами повторяет "халва" -- от этого у меня халва не появится.

     
  • 2.55, Аноним (55), 11:36, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Кстати, там и в самом деле другое, причем как раз еще больше _не_ в пользу сишечки и повышает в рейтинге нужности раст с го. В расте/го какие-то ленивые балбесы поленились правильно, "с точностью до буквы", стандарт закодить (или логическая ошибка бизнес-логики),а в данном случае - разыменование NULL-указателя, чего в расте в Safe-mode не сделаешь. Еще один жирный плюс в копилку раста/го. Т.е в раст-программе, при условии Safe-mode, присутствуют логические ошибки бизнес-логики, а в сишечке - и логические ошибки бизнес-логики и ошибки программирования типа этой и ей подобных, коих по статистике 70%.
     
  • 2.96, Аноним (96), 14:47, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > > Уязвимось в Glibc, позволяющая вызвать крах чужого процесса
    > Расскажите почему "это другое!"

    Потому что есть такое понятие как дискретный контроль доступа (DAC) и в некоторых GNU/Linux дистрибутивах, использующих технологии YAMA или CONFIG_GRKERNSEC_PROC технологии DAC распространяются на процессы в памяти и процесс не имеет доступа к процессам других пользователей, а при жестких настройках YAMA нет доступа даже к процессам того же пользователя.

     
     
  • 3.136, Брат Анон (ok), 12:27, 18/08/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вы новость прочитали? ПРОЦЕССЫ ПАДАЮТ!!
    И меня как пользователя совершенно не устраивает ситуация: я два часа набирал бесценную хайку, а тут внезапно текстовый редактор сложился без объяснений, потому что зачесалась левая пятка правой ноги.
     
  • 2.128, Аноним (128), 01:32, 18/08/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Го это си для вебмакак. Они одинаковы.
     

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

  • 1.2, Аноним (3), 08:52, 17/08/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    Лол, хорошо что успеши обнаружить

    арчегосподин с 2.33 версия гну библеотек

     
     
  • 2.9, Аноним (9), 09:05, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • –6 +/
    > успеши

    так торопился упомянуть любимый рачик, что и на подсветку орфографии не обратил внимание? лол

    з.ы. вижу корень "арч" — сразу минусую

     
     
  • 3.11, Аноним (3), 09:09, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Не спал долго просто, а што? чем тебе рач не нравиться?

    ниасилил, да?

     
     
  • 4.13, макпыф (ok), 09:16, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    возможно не осилить pacman -S base ?
     
     
  • 5.14, Аноним (3), 09:21, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Исходя из того количетсво пользователей что сидят на бомжару, думаю что да

    мимоАрче+и3вмГосподин

     
  • 4.89, Michael Shigorin (ok), 14:08, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > чем тебе рач не нравиться?

    Мне вот -- невменяемостью рачешкольников любого возраста, пытающихся впарить ЭТО невзирая ни на что и тем напоминающих когда иеговистов, когда канадских мальчиков или MLM-щиков.

    А вики у арча хорошая, молодцы (пока гентушники свою непроэтсамое, хорошая была у них). :-)

     
     
  • 5.99, Аноним (96), 14:51, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >  (пока гентушники свою непроэтсамое, хорошая была у них). :-)

    Гентушникам не только вики потеряли, а и сами цели дистра поменяли. Генто сегодня и 10 лет назад это две большие разницы.

     
  • 5.121, Аноним (-), 19:02, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Михаил, раб божий, Вы то, что этом треде потеряли. Лучше идите домой.
     
  • 5.123, Аноним (123), 21:42, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Даю руб за два, что михаэль один из срущих анонимов. Аргументация соответствующего впопеннетчикам уровня.
    Сиди на своем уникальном альте и обмазывайся духоскрепными эльбрусами.
     
     
  • 6.127, Аноньимъ (ok), 23:52, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я бы то же обмазывался бы будь они у меня.
    Архитектура интересная, и духовная.
     
  • 5.160, муу (?), 19:12, 20/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    а вам мне напоминает некого свидетеля альта который тут во всех трэдах по поводу и без оный альт упоминает?
     
  • 4.100, анонн (ok), 14:51, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > чем тебе рач не нравиться?

    Первым пунктом из свода правил Арчеводов: "Сообщи всем, что у тебя Арч!"

     

  • 1.5, Какаянахренразница (ok), 08:56, 17/08/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    Пытались пофиксить одну дыру и в процессе создали другую побольше. Это бывает. Сам так делал.
     
     
  • 2.137, Брат Анон (ok), 12:29, 18/08/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ктулху фтанг!
     

  • 1.6, Stanislav (??), 08:58, 17/08/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Мда...
    "Поспешное исправление ошибки - лучший способ сделать новую."
     
     
  • 2.80, Аноним (70), 13:33, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Ну да, not a bug, конечно, лучше.
     

  • 1.16, макпыф (ok), 09:24, 17/08/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    интересно, будут ли они делать релиз с фиксом?
     
     
  • 2.138, Брат Анон (ok), 12:30, 18/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Читайте внимательней новость. Уже успели опубликовать, отозвать, в релизы не попадёт.
     
     
  • 3.144, макпыф (ok), 19:02, 18/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    что отозвать?

    > присутствует в выпуске 2.34

    P.S. У меня кстати этот выпуск

     
     
  • 4.146, Брат Анон (ok), 23:37, 18/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > что отозвать?
    >> присутствует в выпуске 2.34
    > P.S. У меня кстати этот выпуск

    Значит не надо неофициальные репы в список автообновления добавлять.

     
     
  • 5.148, макпыф (ok), 08:34, 19/08/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Вы о чем? у меня на LFS ни каких репов нету. И тем более автообновления


     
     
  • 6.149, Брат Анон (ok), 09:13, 19/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Вы о чем? у меня на LFS ни каких репов нету. И
    > тем более автообновления

    Тогда указанная версия к вам не могла попасть. Что-то вы путаете.

     
     
  • 7.150, макпыф (ok), 11:24, 19/08/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это вы что то путаете.

    Она попала также как и все пакеты. ./configure make make install

     
     
  • 8.151, Брат Анон (ok), 11:36, 19/08/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    яснопонятно ... текст свёрнут, показать
     
  • 6.156, Какаянахренразница (ok), 19:49, 19/08/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > у меня на LFS

    Резко зауважал.

     

  • 1.18, Разбойник (?), 09:30, 17/08/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –10 +/
    Используйте musl дистрибутивы и будет вам щастье.
     
     
  • 2.22, hefenud (ok), 09:46, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +11 +/
    Ты сам пробовал их использовать? Они тормозят, как удолбанный джа-будда. Ради интереса пробовал Void и Alpine ставить в качестве десктопных в виртуалку. Вот Ubuntu/Debian в такой же виртуалке прекрасно работает, а муслевые тормозят, что капец. И это я молчу про то, что далеко не всякий софт у тебя вообще в них заведется
     
     
  • 3.24, Аноним (30), 09:47, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Попробуй поставить jemalloc и добавить ее LD_PRELOAD.
     
     
  • 4.62, hefenud (ok), 12:01, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    «А вы на шкаф залезьте!» старый анекдот
    Ну и смысл тогда юзать musl, если сверху надо обмазываться костылями?

    Пусть себе живет в OpenWRT(если они с него не слезли, не помню уже), а на десктопе останусь на нормальных дистрах с glibc

     
  • 3.34, Разбойник (?), 10:04, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Брехун, нормально они работают.
     
     
  • 4.38, YetAnotherOnanym (ok), 10:22, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Смотря что считать "нормальной работой". Лично когда-то наступил на баг, когда некий умник завязался на функцию из внутренностей glibc, вместо официально документированной. А в мусле её не было. Вина на авторе прикладухи, но не все готовы копаться в исходниках. Под муслом не работает - виноват мусл, вот и вся логика.
     
     
  • 5.40, Разбойник (?), 10:45, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • –4 +/
    У меня под Alpine работает всё, что только можно: сервера, почтовики, базы данных, докеры. Да проще сказать, что там не работает. А не работает там только проприетарщина и говнософт по типу системГ. Вот, собственно, и всё.
     
     
  • 6.42, Аноним (30), 10:51, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    ЛПП, системда отлично работает с musl, если отключить NSS-специфичные фишки.
    И, кстати, что больше проприетарщина - системда под LGPL, или musl под MIT?
     
     
  • 7.45, Разбойник (?), 10:56, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не работает.
     
  • 7.81, Аноним (70), 13:39, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ответ КО: Проприетарщина под EULA.
     
  • 6.61, Аноним (55), 11:59, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Извините за оффтоп Раз у Вас так много на Alpine работает, значит знаете ее вдо... большой текст свёрнут, показать
     
     
  • 7.69, Разбойник (?), 13:00, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Я очень давно не использовал самба, на алпайн вообще ни разу. Но вообще в твоей проблеме нет ничего удивительного, ведь линукс это тот ещё Франкенштейн, ослеплённый из говна и палок. В любом дистрибутиве что-то да не работает, не совместимо, забагованно и тд.
     
     
  • 8.95, Аноним (55), 14:40, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А другие сетевые ФС Вроде как этот случай относится ко всем автомонтируемым с... текст свёрнут, показать
     
     
  • 9.101, Разбойник (?), 14:57, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    С NFS подобных проблем не наблюдалось ... текст свёрнут, показать
     
     
  • 10.113, Аноним (55), 16:44, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Спасибо ... текст свёрнут, показать
     
  • 7.73, дохтурЛол (?), 13:21, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Узнайте от какого пакета у вас umount: https://pkgs.alpinelinux.org/contents?file=umount&path=&name=&branch=edge&arch (это поиск для edge, у вас может стабильный релиз).

    Раз вы почему-то пишете про busybox, то попробуйте вызвать команду не как 'umount -a -O _netdev', а как '\umount -a -O _netdev'.

     
     
  • 8.90, Аноним (55), 14:12, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    У меня не edge, у меня стабильная пакетная база 3 14, но та же фигня была и в 3... большой текст свёрнут, показать
     
     
  • 9.120, дохтурЛол (?), 19:00, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Раз релиз - значит и правда util-linux Чтоб убедиться, что точно не busybox - п... текст свёрнут, показать
     
  • 5.41, Аноним (30), 10:47, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Обычно люди просто предполагают, что malloc() работает быстро. Это так для glibc, но совсем не так для musl. Поэтому, если нужна хоть какая-то производительность при работе с памятью на musl - просто берём язык с собственным менеджером памяти, который практически не зависит от скорости стандартного аллокатора (Java, Go). Ну или сразу берём в зависимости jemalloc и линкуем с ним.
     
     
  • 6.52, Dzen Python (ok), 11:27, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем тогда нужна стандартная библиотека musl, если пользоваться ей все равно нельзя и нужно линковать внешний jemalloc?

    Бред. Как хорошо, что я даже не смотрю на все эти хипстоподелки.

     
     
  • 7.79, Аноним (70), 13:32, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Так хипстоподелку впихнули, например, в OpenWRT.
     
  • 2.23, Аноним (30), 09:46, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    musl известен тем, что там даже в printf() ухитрились переполнение сделать.

    Про тормозной аллокатор вообще молчу.

     
     
  • 3.107, Аноним (107), 15:54, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Почему "даже" ? Принтф довольно сложная функция.
     
     
  • 4.139, Брат Анон (ok), 12:33, 18/08/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Этой довольно сложной функции уже поди лет 40. И до сих пор допускать в реализации её ошибки -- это уже за гранью добра и зла.
     

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

  • 1.28, Аноним (28), 09:53, 17/08/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    ухты, релиз новой версии уязвимости.
     
  • 1.32, Ананоним (?), 10:01, 17/08/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Я ж говорил, старые исправили, новые добавили. Главная цель кодирования. Зато "кот" всегда нужен.
     
  • 1.46, freecoder (ok), 10:58, 17/08/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Мда, печально. Но вот от таких ошибок как раз Rust спасает: по-умолчанию нет никаких NULL, если нужно отсутствие - используешь Option, который типобезопасен и проверяется компилятором. Конечно, в unsafe при желании можно что угодно разыменовать, но на то он и unsafe, чтобы покрывать 0-1% кода, а не 100%.




    $ git clone https://github.com/rust-lang/rust
    $ cd rust
    $ cargo count --separator , --unsafe-statistics
    Gathering information...
             Language    Files  Lines    Blanks  Comments  Code     Unsafe (%)
             --------    -----  -----    ------  --------  ----     ----------
             Rust        6,018  528,510  66,984  133,698   327,792  3,163 (0.96%)
             C           54     9,962    1,445   1,492     7,025    7,025 (100.00%)
             CSS         4      1,266    149     52        1,065    
             JavaScript  4      1,118    131     166       821      
             Python      31     4,797    843     585       3,369    
             C Header    13     1,865    284     585       996      996 (100.00%)
             C++         4      1,611    185     81        1,345    1,345 (100.00%)
             --------    -----  -----    ------  --------  ----     ----------
    Totals:              6,128  549,129  70,021  136,659   342,413  12,529 (3.66%)



     
     
  • 2.47, Аноним зеленый (?), 11:12, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ансейф в расте очень сложен к проверке корректности. Обычно если ты пишешь ансейф значит пытаешься обойти компилятор и тут закрадываются комплексные ошибки. Может их всего и 1% в коде, но ревьюить их надо как будто это 10%
     
  • 2.66, Gogi (??), 12:25, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Ну спасает твой раст... а в C# их вообще нет! Будем дальше ржавное Г****вно проталкивать??
     
     
  • 3.141, Брат Анон (ok), 12:36, 18/08/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Свистишь анон. Есть, проверено лично.
     
  • 2.78, Аноним (70), 13:29, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    MISRA спасёт, а не этот ваш Хруст.
     
     
  • 3.92, Аноним (107), 14:22, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Кто не хочет гуглить про это мисру - это просто стандарт-пожелание в стиле "Просто не пиши с UB и все. А еще не забывай про статический анализ"

    Как глаза мне открыли. Молодцы парни. (сарказм)

     
  • 3.142, Брат Анон (ok), 12:37, 18/08/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ага. Расскажи это от десятка до сотни трупов на кладбище, которые рассекали на Тойоте Короле.
     
  • 2.82, Аноним (82), 13:40, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Может ошибка вообще в том, что он и не должен быть NULL, но по какой-то причине он им стал и часть кода, которая посыпалась, этого и не ожидала. Чем вам поможет в данном случае safe/unsafe, кроме как только замедлит код проверками того, что и не нужно проверять?
     
     
  • 3.104, Хан (?), 15:17, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    ОС/проц не будет разбираться что за лох по ту сторону экрана разыменовывает null pointer просто отправит ее в /dev/null с сообщение в консоли RTFM
     
  • 3.124, freecoder (ok), 22:29, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    В Rust по-умолчанию все инициализировано и не NULL. Если хочется NULL - используется Option, и тогда да, компилятор потребует вставить проверки при использовании. Но точно также Сишный код  должен будет иметь проверки, но компилятор не подскажет где. И нужно будет вставлять лишние проверки, потому что статическими средствами языка невозможно выразить того факта, что объект никогда не должен быть NULL.

     
  • 2.117, Аноним (118), 18:41, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Печально что кто-то думает что для того чтобы не делать таких ошибок надо брать какой-то rust.

    Для этого вполне достаточно нормального C++ и никакой rust не нужен. И синтаксис нормальный и ошибок таких не будет. И этому уже 100 лет в обед как в современных плюсах этого нет.

     
  • 2.140, Брат Анон (ok), 12:36, 18/08/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    За любое использование unsafe надо избивать палками до посинения. А после этого -- уволнять.
    На практике unsafe в го начиная с 2014 года не использовал ни разу, потому что это крест сразу на всём безопасном коде.
     
     
  • 3.145, freecoder (ok), 22:13, 18/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    В Rust принят другой подход: используя unsafe-блок программист должен сам позаботиться о безопасности кода и о том, что никаких небезопасных операций не просочилось в safe часть языка. В открытых проектах обычно обязательно рядом с unsafe-блокам пишут комментарий с меткой SAFETY, в котором разъясняется, почему именно такое использование небезопасных операций в данном случае безопасно.

     
     
  • 4.147, Брат Анон (ok), 23:39, 18/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > В Rust принят другой подход: используя unsafe-блок программист должен сам позаботиться
    > о безопасности кода и о том, что никаких небезопасных операций не
    > просочилось в safe часть языка. В открытых проектах обычно обязательно рядом
    > с unsafe-блокам пишут комментарий с меткой SAFETY, в котором разъясняется, почему
    > именно такое использование небезопасных операций в данном случае безопасно.

    Это вредная практика. Безопасность кода должна быть доказана. Программист -- это тупое ленивое животное априрори допускающее ошибки. Не может безопасности на 95%. Либо она 100%, либо 0.
    Сегодня хак работает, а завтра поменялся компилятор или платформа и хак внезапно становится брешью в пол забора.

     
     
  • 5.152, freecoder (ok), 11:54, 19/08/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    К сожалению со сторонниками "черное-белое и никаких оттенков" спорить бесполезно. Вас послушаешь, так все равно, 1 уязвимость в программе или 100.

    100% безопасность вообще ничто обеспечить не может, как и 100% здоровье. А значит можно "курить, бухать, жрать таблетки - и пох.", я понял вашу идеологию.

     
     
  • 6.155, Брат Анон (ok), 13:42, 19/08/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я топлю не за чёрно-белое А за то, что инструмент должен давать какие-то базо... большой текст свёрнут, показать
     
     
  • 7.161, Аноним (-), 12:21, 21/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >Если лекарства не прошли клинические испытания -- их нельзя давать людям.

    Ты это можешь сказать тем, кто продвигает российскую вакцину? Или рабское сознание не позволяет?

     
     
  • 8.163, Брат Анон (ok), 09:12, 24/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Вы меня с кем-то путаете, уважаемый аноним ... текст свёрнут, показать
     
  • 7.162, freecoder (ok), 16:37, 23/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Вот вам более понятный пример: вы доказываете теорему. При этом ссылаетесь на другие теоремы, уже доказанные, и в процессе доказательства еще выделяете леммы, которые доказываете отдельно. Так вот, есть разница, доказано ли 95% утверждений вашей теоремы или только 5%. Вы этой разницы не видите, но она существенна: зная, что леммы и теоремы, на которые ссылается данная, уже доказаны, вам остается проверить (доказать корректность) только оставшиеся 5% рассуждений, а не доказывать вообще все, что входит в теорему, чего вы в общем случае сделать просто физически не сможете.
     
     
  • 8.164, Брат Анон (ok), 09:15, 24/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Вы привели пример, известный в логике, как подмена понятий Всё что вы написал... текст свёрнут, показать
     

  • 1.53, Аноним (53), 11:28, 17/08/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Лучшее - враг хорошего
     
  • 1.59, Zenitur (ok), 11:55, 17/08/2021 Скрыто модератором [﹢﹢﹢] [ · · · ]
  • –1 +/
     
     
  • 2.77, Аноним (70), 13:27, 17/08/2021 Скрыто модератором
  • +/
     

  • 1.65, Gogi (??), 12:24, 17/08/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    Вот и выросло "поколение ЕГЭ", пишущее программы!
     
     
  • 2.74, Аноним (70), 13:23, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Среди разработчиков Glibc есть хоть один россиянин?
     
     
  • 3.91, Michael Shigorin (ok), 14:17, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Выпустивший https://www.opennet.ru/opennews/art.shtml?num=48009 с час как зашёл в офис, пообщались с ещё одним участником разработки glibc, ну а третий попозже обычно приходит.
    [CODE]git clone https://sourceware.org/git/glibc.git
    cd glibc
    git checkout release/2.34/master
    git log --author=@altlinux.org | grep ^Author | sort | uniq -c
         55 Author: Dmitry V. Levin <ldv@altlinux.org>
          3 Author: Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
          1 Author: Vitaly Chikunov <vt@altlinux.org>[/CODE]
     

  • 1.98, Microsoft GNU Assembly (?), 14:50, 17/08/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    они, конечно же, придумали как кардинально изменить си-туацию? даю хинт: Dlang
     
     
  • 2.116, Аноним (118), 18:39, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > они, конечно же, придумали как кардинально изменить си-туацию? даю хинт: Dlang

    Даю правильный хинт: выкидываем весь этот треш в виде go, rust, dlang и прочее и начинаем читать книжки.

     
     
  • 3.154, Аноним (154), 12:01, 19/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    И кто заплатит за чтение книжек? Заказчику надо здесь и сейчас, потом следующую фичу и побольше и потратить поменьше. Пока ты там читаешь книжки, на Го уже написали три стартапа, два из которых уже закрылись, а ты все еще читаешь.
     

  • 1.102, joda (?), 15:01, 17/08/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Надо полагать, что следующее исправление приведёт к ещё большему упрощению краха чужих процессов. ;-))
     
     
  • 2.108, Аноним (108), 15:59, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вангую, что абсолютное большинство программистов вообще почти ничерта не знает. И это нормально, потому что у большинства людей есть семья, друзья, хобби - в общем, жизнь. Потому и возникают эксперименты, вроде Rust - чтобы спасать время и личную жизнь программистов, ну или хотя бы попытаться это сделать. Это здорово, что есть люди, готовые всю свою жизнь и время посвятить узкой специализации, но их мало, все такими быть не обязаны и все экономические потребости общества эти люди грудью не закроют.
     
     
  • 3.111, Хан (?), 16:31, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Если не хочешь копаться в особенностях процессора и оси то не стоит связываться с низкоуровневыми языками типа C/C++
     
  • 3.126, Аноним (126), 23:50, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >семья, друзья, хобби

    если у меня ничего вышеперечисленного нет - могу ли я стать хорошим системным программистом?

     
     
  • 4.130, Аноним (108), 05:28, 18/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Это необходимое условие, но недостаточное.
     
     
  • 5.132, Аноним (132), 08:33, 18/08/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Программист это что-то врожденное.
     
  • 2.109, Аноним (33), 16:08, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Зато крестовики уже присобачили борроу чеккер к сиплюсплюшечке https://www.youtube.com/watch?v=Lj1GppqNr8c включили c++ core check из visual studio поигрались и забыли как страшный сон.
     
     
  • 3.112, Хан (?), 16:32, 17/08/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Когда в появится в стандарте C++ тогда и говори
     
     
  • 4.131, Аноним (132), 08:33, 18/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    О чем с тобой говорить с хрустиком? Ты сначала напиши что-нибудь продакшн реди.
     
  • 3.135, Аноним (135), 12:22, 18/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Что плохого в borrow checker'e?
     
     
  • 4.153, Аноним (154), 11:59, 19/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Делает мозги почем зря.
     

  • 1.133, Аноним (-), 08:59, 18/08/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Хм. А в Fedora пока 2.33. Не спешат в таких вопросах.
     
     
  • 2.143, Брат Анон (ok), 12:41, 18/08/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Хм. А в Fedora пока 2.33. Не спешат в таких вопросах.

    Читайте внимательно новость. Релиз уже отозван, ни в дин дистр это не попадёт по определению.

     

  • 1.158, village_coder (ok), 16:51, 20/08/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чужих процессов не бывает...
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:
    При перепечатке указание ссылки на opennet.ru обязательно



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

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