1.2, Full Master (?), 14:25, 19/10/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +7 +/– |
>Уязвимость вызвана обращением к уже освобождённому блоку памяти (use-after-free)
Обнуляйте указатели после освобождения и не забывайте проверять на NULL перед использованием.
| |
|
|
|
4.51, Варенье (?), 19:32, 19/10/2022 [^] [^^] [^^^] [ответить]
| +5 +/– |
Отсутствие компилятора никогда не останавливало комментаторов опеннета. Тут каждый первый уже переписал ядро NT на Carbon
| |
|
|
|
3.6, Ыыыыыы (?), 14:34, 19/10/2022 [^] [^^] [^^^] [ответить]
| +6 +/– |
Ты слишком мало работаешь, раз задаёшь такие вопросы. Вперёд работать, миска риса сама не появится
| |
|
|
3.8, Я (??), 14:42, 19/10/2022 [^] [^^] [^^^] [ответить]
| +17 +/– |
нет ведь все си разработчики благославлены богом и им в отличие от растосмузеров всякие няньки не нужны чтобы код безопасным держать.
| |
|
4.90, Michael Shigorin (ok), 08:39, 21/10/2022 [^] [^^] [^^^] [ответить]
| –4 +/– |
Растосмузеров, похоже, будут выращивать на грядке, как и майдаунов вон (ну кто в здравом уме согласится стать сперва уличным мясом, а затем пушечным?).
Поскольку надо же для "новой архитектуры" всё-всё переписать на "новом языке".
Ну, если не рефлексировать, а распространять, роняя тапки.
| |
|
3.18, Аноним (18), 15:32, 19/10/2022 [^] [^^] [^^^] [ответить]
| +3 +/– |
Из личного опыта скажу, что многие Сишники вообще не знают что такое тестирование:( Они искренне верят в то, что раз они прочитали K&R, то они теперь мега гуру эксперты 🤦
| |
|
|
5.54, Аноним (18), 20:02, 19/10/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
Лично я не знаю такую книгу где бы демонстрировался весь жизненный цикл разработки ПО на языке Си:( Я как и многие другие собирал свои знания по крупицам из очень многих источников!
ПС: Из новинок лично меня заинтересовала книга Fluent C: Principles, Practices, and Patterns (November 29, 2022). Бегло глянул в раннем доступе, - вроде норм; буду ждать релиза.
| |
|
6.66, Аноним (66), 00:44, 20/10/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
Наверняка там полно очещуительных советов навроде использовать calloc вместо malloc, да?
| |
|
|
4.81, anonymous (??), 16:55, 20/10/2022 [^] [^^] [^^^] [ответить]
| –1 +/– |
трудоемко это, а если еще и коды ошибок проверять у каждого вызова то просто руки опускаются - просто нечитаемый код выйдет. А переполнение целочисленных, а не уверенность что int больше 16 разрядов (мало ли на какой экзотике запустят, может скоро свои процессоры будут все клепать как пироги, 24 разрядные?). В итоге или ничего не писать тогда и уязвимостей не будет или хоть чтото.
| |
4.97, Аноним (97), 22:06, 21/10/2022 [^] [^^] [^^^] [ответить]
| +/– |
Из личного опыта скажу, что многие из пишущих подобные комментарии никогда не видели ни одного программиста, это просто тролли из вконтактика не имеющие отношения к ИТ.
| |
|
|
2.10, Шарп (ok), 14:47, 19/10/2022 [^] [^^] [^^^] [ответить]
| +4 +/– |
>Обнуляйте указатели после освобождения и не забывайте проверять на NULL перед использованием.
Не поможет. Указатель может быть передан куда-то ещё, т.е. произойдёт копирование указателя. И заNULLение одного из них никак на остальные не повлияет и через них всё равно можно будет получить доступ к освобождённой памяти.
Это фундаментальный изъян сишки. Надежда только на ТЫСЯЧИ ГЛАЗ СМОТРЯЩИХ НА КОД. Только вот почему то не помогает.
| |
|
3.22, Без аргументов (?), 15:49, 19/10/2022 [^] [^^] [^^^] [ответить]
| +/– |
> фундаментальный изъян сишки
а дорожки на плате из проца в ОЗУ тоже изъян? Вы шизоидно утверждаете, что ножом можно порезаться и должны быть только тупые столовые ножи, подаваемые с вилкой, даже у поваров и мясников.
| |
|
4.26, анон (?), 16:09, 19/10/2022 [^] [^^] [^^^] [ответить]
| +3 +/– |
какие ещё ножи, ты и есть тот самый шиз с аналогиями не в тему?
Есть проблемы с безопасностью программ на c, регулярно находятся уязвимости в критических компонентах. Это не так?
Давай,поспорь с этим утверждением и аналогий ещё дебильных отсыпь.
| |
|
5.52, Без аргументов (?), 19:56, 19/10/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
Было бы чё отсыпать, я бы щаз тут не холиварил, а говорил "пацаны ваще ребята".
Если критические компоненты написаны на Си, то откуда ж взяться багам на других языках?
Я указал на то, что свобода работы с указателями это фича, а не баг. Но я не исключаю, что для мощных компьютеров можно взять фреймворк и побезопаснее, а Си оставить микроконтроллерам и там, где не разгуляешься улучшалками.
| |
5.53, Без аргументов (?), 20:01, 19/10/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
Лично я в своей жизни каких только ошибок не делал, как на Си, так и на PL/SQL в тяжелом проде, так и на Go. Но они были не с указателями связаны (указатели обычно сразу при запуске видно, а проверки-длины-правильность парамов это всегда в уме), а банальной невнимательностью -- скобку не там, приоритет операций, больше и меньше путал, но о переполнении я всегда помню и даже тестирую.
| |
|
4.41, fyyjy (?), 18:57, 19/10/2022 [^] [^^] [^^^] [ответить]
| +/– |
Да, у кожанных мешков есть фундаментальная уязвимость в системе i/o и регулярные ошибки при управлении транспортными средствами на высоких скоростях.
Поэтому в цивилизованных странах ввели ограничения на максимальную разрешенную скорость.
Конечно находятся долбодятлы которые считают что "с ними такое не случится" и "ну я же профи в отличии от этих..." которые регулярно устраивают креши.
Надеюсь аналогия понятна даже СИшнику
| |
|
5.99, Аноним (97), 22:13, 21/10/2022 [^] [^^] [^^^] [ответить]
| +/– |
Кстати машины с мигалками могут не соблюдать максимальную разрешенную скорость.
Надеюсь аналогия понятна даже не СИшнику.
| |
|
4.46, YetAnotherOnanym (ok), 19:05, 19/10/2022 [^] [^^] [^^^] [ответить]
| +2 +/– |
Не совсем верная аналогия. Скорее так - ножом можно порезаться, поэтому должен быть роботизированный резак, закрытый кожухом, с блокировкой привода при открытой дверце и механизмом автоматического увода лезвия в специальную нишу при нештатной ситуации.
| |
|
5.47, Аноним (47), 19:08, 19/10/2022 [^] [^^] [^^^] [ответить]
| +3 +/– |
...но всегда найдется умник который засунет в одну из кнопок гильотины зубочистку и полезет поправлять пакет листов. С другой стороны - ссзб.
| |
|
6.83, Аноним (83), 19:55, 20/10/2022 [^] [^^] [^^^] [ответить]
| –2 +/– |
На одного такого тысяча порезавшихся небезопасным ножом. Давай теперь безопасные ножи обсирать, ведь кто-то может туда зубочистку запихнуть?
| |
|
|
4.48, annonimus (?), 19:15, 19/10/2022 [^] [^^] [^^^] [ответить]
| +5 +/– |
если бы ты хоть раз видел работу профессионального мясника, то заметил что они пользуются кольчужными перчатками
именно для того чтобы не отрезать себе палец острым ножем
| |
|
5.58, Аноним (47), 20:11, 19/10/2022 [^] [^^] [^^^] [ответить]
| +/– |
И не только они. У хирургов тоже популярны. Потому что шанс порезаться очень мал, зато цена контакта с зараженной кровью крайне высока.
| |
|
|
3.36, Аноним (36), 17:47, 19/10/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
Ну надо же какой изъян, да еще и фундаментальный.
По такой логике любые переменные переданные по значению должны все сразу свои значения сбросить, если где-то хоть одну ее копию поменяли.
| |
|
4.71, Аноним (71), 09:08, 20/10/2022 [^] [^^] [^^^] [ответить]
| –1 +/– |
Если еще немного развить эту мысль, то Вы внезапно для себя изобретете борроу-чекер
| |
|
3.98, Аноним (97), 22:11, 21/10/2022 [^] [^^] [^^^] [ответить]
| +/– |
> Только вот почему то не помогает.
Ты же пишешь этот комментарий под новостью где помогает.
| |
|
2.20, Аноним (18), 15:44, 19/10/2022 [^] [^^] [^^^] [ответить]
| +/– |
>>> Обнуляйте указатели <<<
Ну, если вам от этого как-то на душе спокойнее:) то можете сделать такой хак:
#include <stdlib.h>
#define free(p) ((free)(p), (void)((p) = 0))
| |
|
3.59, Шарп (ok), 20:15, 19/10/2022 [^] [^^] [^^^] [ответить]
| +/– |
> #define free(p) ((free)(p), (void)((p) = 0))
Оооооо, пошли советы от прожжённых сишников. Передефайнить функцию и даже не назвать её КАПСОМ. Удачной отладки, сосунки. Поубивал бы за такое.
| |
|
4.63, n00by (ok), 21:10, 19/10/2022 [^] [^^] [^^^] [ответить]
| +2 +/– |
Как раз от 2-й строки в ядре ничего страшного не случится. :)
| |
4.64, Аноним (18), 21:10, 19/10/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
>>> Поубивал бы за такое. <<<
Ну что тут скажешь, - олдскульщики любят макросы:)
ПС: В своё время когда ковырял сорцы gcc, видел ёще и не такие чудеса:)
| |
4.100, Аноним (97), 22:14, 21/10/2022 [^] [^^] [^^^] [ответить]
| +/– |
> советы от прожжённых сишников
С чего ты взял что этот человек написал хотя бы пару строк на С?
| |
|
|
2.28, Аноним (-), 16:17, 19/10/2022 [^] [^^] [^^^] [ответить]
| +2 +/– |
Ты новость-то читал? Сборщик мусора счёл, что объект не нужен и сделал free на него. А кто-то там подленько сохранил указатель. Чтобы этого не было, нужен полноценный сборщик мусора, который будет обходить все активные указатели и не удалять объекты до которых можно дотянутся от них.
Если б сборщик мусора знал, что остаётся живой указатель на объект, он бы не удалял объект.
| |
2.105, Андрей (??), 23:19, 22/10/2022 [^] [^^] [^^^] [ответить]
| +/– |
На высоких уровнях оптимизации компилятор отбросит обнуление как операцию, которая ни на что не влияет. Обратите внимание, сколько сил на обход этой проблемы потрачено в качественных криптобиблиотеках.
| |
|
1.9, Шарп (ok), 14:44, 19/10/2022 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
>Уязвимость вызвана обращением к уже освобождённому блоку памяти (use-after-free)
rust
| |
|
2.102, Аноним (97), 22:19, 21/10/2022 [^] [^^] [^^^] [ответить]
| +/– |
В rust нет сборщика мусора, следовательно при его реализации -- будет такая же ошибка.
| |
|
1.12, анон (?), 14:57, 19/10/2022 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
надо же, опять враги плохой код подсунули, эх вот в пердатые времена такова бы не было...
| |
1.17, Аноним (-), 15:18, 19/10/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
я щитаю, нужно это всё обернуть в виртуальные контейнеры, так безопаснее будет. и переписать на безопасном расте
| |
|
2.29, Аноним (30), 16:19, 19/10/2022 [^] [^^] [^^^] [ответить]
| +/– |
На безопасном нельзя работать с ядром. На небезопасном расте можно с unsafe.
| |
|
1.19, Аноним (19), 15:39, 19/10/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +7 +/– |
Опять ненастоящие сишники в ядро прокрались и CVE напрогали, пока настоящие спали. Им бы туда в ядро пару ребят с опеннета, показать как правило делать надо. Но нет, все заняты комментированием новостей про раст.
| |
|
2.91, Michael Shigorin (ok), 08:47, 21/10/2022 [^] [^^] [^^^] [ответить]
| +/– |
Там и так есть пара ребят с опеннета.
А про то, зачем растаманов выращивают, _похоже_ -- птичка в клювике принесла, выше написал.
| |
2.104, Аноним (97), 22:26, 21/10/2022 [^] [^^] [^^^] [ответить]
| +/– |
Такая ошибка может быть на любом языке, никакой язык не защитит от конкурентного удаления используемого объекта другим модулем (возможно написанном на другом языке).
Вопрос в том --- какие последствия будут при таком удалении объекта и боюсь что код на любом языке в таком случае разнесёт не слабо :-)
| |
|
|
2.68, Аноним (68), 02:05, 20/10/2022 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Уязвимость ... начиная с выпуска 5.1
делаем "раз!":
$ uname -a
Linux 3.13.0-170-generic ...
| |
|
3.78, НяшМяш (ok), 13:39, 20/10/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
> $ uname -a
> Linux 3.13.0-170-generic ...
Это же сколько эксплойтов можно набрать, аж глаза разбегаются...
| |
|
4.88, Аноним (68), 05:51, 21/10/2022 [^] [^^] [^^^] [ответить]
| +/– |
> сколько эксплойтов можно набрать
Покажи хоть немного, попробую скомпилировать и установить, если получится...
| |
|
|
2.77, НяшМяш (ok), 13:38, 20/10/2022 [^] [^^] [^^^] [ответить]
| +/– |
> Я прямо заколебался раз в неделю обновлять и пересобирать ядро.
На 5950Х и используя ccache новая версия собирается примерно за 5-6 минут используя стандартный арч конфиг
| |
|
|
2.45, fyyjy (?), 19:03, 19/10/2022 [^] [^^] [^^^] [ответить]
| +8 +/– |
но потом товй труп пытаются выкопать и сделать use-after-free :D
| |
|
|
2.62, n00by (ok), 20:49, 19/10/2022 [^] [^^] [^^^] [ответить]
| +/– |
>> сборщик мусора
> В ядре. И никого это уже не удивляет.
Уже?
/*
* NET3: Garbage Collector For AF_UNIX sockets
*
* Garbage Collector:
* Copyright (C) Barak A. Pearlmutter.
* Released under the GPL version 2 or later.
*
* Chopped about by Alan Cox 22/3/96 to make it fit the AF_UNIX socket problem.
* If it doesn't work blame me, it worked when Barak sent it.
| |
|
1.40, Аноним (47), 18:51, 19/10/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
О, что-то кучно уязвимости пошли. Видать к дождю.
mac80211, LibKSBA, git, nginx и еще и эта.
И всех их объединяет два момента...
| |
|
2.69, Аноним (68), 02:09, 20/10/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
> И всех их объединяет два момента...
Произошло два цикла выпуска новых обезьян из вузов? Одни - сговнякали, другие - начали сопровождать...
| |
|
|
2.93, Michael Shigorin (ok), 09:07, 21/10/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
А у меня теперь новое развлечение -- вот, скажем, корреляция между неумением соображать и AS откуда-нить из Тбилиси не так давно не наблюдалась, а теперь наблюдаться начала. И сдаётся мне, дело здесь не в грузинах, они-то как раз резко умнеть начали (или перестали стесняться этого)...
| |
|
1.79, Чадар (ok), 14:43, 20/10/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
У меня в Debian stable после вчерашнего обновления ядра и перезагрузки системы - черный экран и не запускается система. Стер ядро Х64 - Linux 4.19.0-19 и вернулся на предшествующее ядро - Linux 4.19.0-18 все идет как масло - все загружается нормально! У кого - нибудь такое получилось?
| |
|