The OpenNET Project / Index page

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



"Уязвимость в Rust-библиотеках для формата TAR, приводящая к распаковке файлов из вложенного архива"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Уязвимость в Rust-библиотеках для формата TAR, приводящая к распаковке файлов из вложенного архива"  +/
Сообщение от opennews (?), 21-Окт-25, 23:11 
В написанной на языке Rust библиотеке async-tar, предоставляющей функции для чтения и записи tar-архивов, выявлена уязвимость (CVE-2025-62518, кодовое имя TARmageddon), позволяющая при распаковке специально оформленного tar-архива не только извлечь размещённые в нём файлы,  но и файлы, содержащиеся во вложенном tar-архиве. Уязвимость может быть использована для обхода систем верификации архивов и распаковки файлов, для которых не выполнялась проверка...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=64093

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

2. Сообщение от Аноним (2), 21-Окт-25, 23:15   +56 +/
Это успех, я считаю!

Кто со мной согласен - ставим плюсик

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #4, #49, #133

4. Сообщение от Tron is Whistling (?), 21-Окт-25, 23:22   +13 +/
Не просто плюсик, а ++ - два плюсика.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #10

6. Сообщение от Аноним (6), 21-Окт-25, 23:24   +14 +/
Вы не понимаете! Это другое!
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #15

9. Сообщение от Аноним (6), 21-Окт-25, 23:26   +6 +/
А сколько багов остаются незамеченными тупо из-за того, что раст вынуждает писать нечитаемую лапшу и раздувать изначально компактный код в несколько раз
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #19, #23, #102, #113

10. Сообщение от Anonimbus (?), 21-Окт-25, 23:27   –2 +/
С плюсом-плюсом XD
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

12. Сообщение от morphe (?), 21-Окт-25, 23:31   +3 +/
> Проблема вызвана тем, что уязвимые библиотеки при распаковке файлов вместо вычисления смещения на основе размера из расширенного заголовка PAX, брали размер из устаревшего заголовка ustar. При нулевом значении размера в заголовке ustar, идущее за ним содержимое файла обрабатывалось как корректный блок TAR-заголовков для следующего файла.

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

Остаётся вопрос почему размер из PAX должен иметь приоритет, ведь теперь проблема может быть обратной - реализации TAR без поддержки PAX будут читать архивы иначе чем исправленная версия.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #16, #43

15. Сообщение от Аноним (15), 21-Окт-25, 23:37   –4 +/
А ты зоркий. Молодец, заметил - именно что другое. А то бы налетели сейчас местные сишники-ПравильныеПогромисты... Никаких тебе выходов за пределы буфера, обращения к освобожденной памяти или двойного освобождения памяти... Ну, именно того, от чего и должен спасать раст. А просто "логическая" ошибка. От которой никто не обещал (и не мог) защитить. Не в той позиции что-то там в файле считали и не проверили. Ну это те самые гугловско-майкрософтовские оставшиеся "30% ошибок", которые уже только напряжением мозгов нужно избегать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #24, #25, #40

16. Сообщение от Аноним (16), 21-Окт-25, 23:38    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #53

18. Сообщение от Аноним (18), 21-Окт-25, 23:41    Скрыто ботом-модератором+3 +/
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #21

19. Сообщение от Аноним (15), 21-Окт-25, 23:43   –1 +/
нечитаемая она для местных сишников. А кто вкатился в эту тему и какое-то время  в этом варился - заявляют, что всё прекрасно читается и понимается. Дело привычки. А техдир гугла еще и заявляет что команды, разрабатывающие проекты на расте, в два раза продуктивнее команд сиплюсплюсников. Предположу, что командная работа с "нечитаемой лапшой" не могла бы быть в два раза продуктивнее "абсолютно понятных" божественных плюсов.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #26

20. Сообщение от Аноним (20), 21-Окт-25, 23:46   +1 +/
Вот видите! Вот такими и должны быть баги, логическими ошибками, а не позорным переполнением буфера
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #82

21. Сообщение от Аноним (15), 21-Окт-25, 23:47   +2 +/
> А шуму то было, мол на расте уязвимостей вообще быть не может

Это от вас, сишников, этот шум. Из раза в раз. От растовиков шум - не будет _только ошибок работы с памятью_ (если не пользоваться ансейфом), а не "всех-всех-всех ошибок". И их, ошибок по памяти, таки пока что-то не наблюдается в товарных количествах, как на божественном.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #123

23. Сообщение от Аноним (15), 21-Окт-25, 23:56   –3 +/
>  и раздувать изначально компактный код в несколько раз

и вдогонку, из соседней новости, про принятие в ядро Linux 6.18 реализации Binder IPC для Android, написанная на Rust:

"...Несмотря на продвинутые возможности и поддержку объектов со сложной семантикой владения, драйвер на Rust получился меньше варианта на Си - 5.5 против 5.8 тысяч строк кода."

Ну т.е. после этого нам _очень_ интересно твое "икспертное" мнение. Ты наверное много программ написал сразу в двух вариантах - на си и на расте, чтобы сравнить и выдать свои ценные замечания, верно? Ведь верно?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #27, #118

24. Сообщение от Аноним (24), 21-Окт-25, 23:57   +11 +/
В новости ошибка работы с памятью. Да, ошибка не с оперативной памятью.
Так выход за границы массива это логическая ошибка или нет? Если программист на Си ошибётся в размере массива, то это одно, а когда на rust ошибка с размером в структуре данных, то это другое?
Нет, дружочек, это одного рода проблемы. Да, rust спасает от ошибок с оперативной памятью, с этим спорить не буду.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #34, #39, #80

25. Сообщение от Аноним (25), 21-Окт-25, 23:58   +2 +/
> оставшиеся "30% ошибок", которые уже только напряжением мозгов нужно избегать

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #87

26. Сообщение от Аноним (6), 21-Окт-25, 23:59   +5 +/
Ты даже не понимаешь о чем речь, сразу видно что вкатился и варился. Когда даже книжный алгоритм приходится перелопачивать так, что он становится сам на себя не похож. Сколько из-за таких выкрутасов в коде возникает логических ошибок, невозможно и представить. Пока нормальные люди пишут код так, чтобы он был легко читаем и понятен, такие как ты варятся и вкатываются и навязывают остальным свои шизоидные извращения. Необходимы клиники для реабилитации, а еще лучше принудительные работы не связанные с компьютерами
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19 Ответы: #41, #45, #47

27. Сообщение от Аноним (6), 22-Окт-25, 00:01   +2 +/
Сотни других неудобных примеров мы конечно проигнорируем, да?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23 Ответы: #51, #112

28. Сообщение от ProfessorNavigator (ok), 22-Окт-25, 00:01   +1 +/
Не, ребят, сегодня не ваш день. Сначала предатели, пардон, производители процессоров вместе с Линусом в спину ударили, а теперь - вот))
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #29, #130, #140

29. Сообщение от Аноним (24), 22-Окт-25, 00:02   +/
Можно подробнее, пожалуйста?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28 Ответы: #30

30. Сообщение от ProfessorNavigator (ok), 22-Окт-25, 00:03   +/
> Можно подробнее, пожалуйста?

https://www.opennet.dev/opennews/art.shtml?num=64091

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29 Ответы: #32, #35

31. Сообщение от Аноним (-), 22-Окт-25, 00:04    Скрыто ботом-модератором–2 +/
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #33, #54

32. Сообщение от Аноним (24), 22-Окт-25, 00:04   +1 +/
Спасибо.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30

33. Сообщение от ProfessorNavigator (ok), 22-Окт-25, 00:08   +/
> Ой, как будто кто-то сейчас пользуется таким древним овном как TAR?
> Оно появилось более 40 лет назад.

Архивы кода по умолчанию с GitHub в tar.gz отдаются))

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31 Ответы: #36

34. Сообщение от morphe (?), 22-Окт-25, 00:08   +2 +/
> В новости ошибка работы с памятью.

В новости ошибка с неправильной интерпретацией спецификации

В файле стоит

Заголовок ustar:
  размер этого файла 0 байт
Заголовок PAX:
  размер этого файла 20мбайт

Старая реализация приоритетной считала значение из ustar, читала 0 байт файла, и дальше читала вложенный tar как содержимое основного tar файла

А должна была читать PAX, и пропускать 20мбайт как содержимое файла

Спека говно, и точно таким же образом обсираются все реализации tar которые PAX не поддерживают.
PAX является якобы обратно совместимым, поскольку данные от него пропускаются легаси реализациями, однако он может содержать в себе копию размера, от чего и возможны такие конфликты

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24

35. Сообщение от Аноним (-), 22-Окт-25, 00:09   +/
Так и не ваш тоже opennet.ru/opennews/art.shtml?num=64092
Вы же не будете сравнивать какую-то либу с ядром.

ЗЫ: а чего в ту тему не заглянули, проффесор? сказать нечего было?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30 Ответы: #38

36. Сообщение от Аноним (-), 22-Окт-25, 00:11   +/
> Архивы кода по умолчанию с GitHub в tar.gz отдаются))

Эм... нет, это вы у себя что-то нахимичили с настройками. По умолчанию отдается zip.
github.com/torvalds/linux
Download ZIP

Проверьте сами.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #33

38. Сообщение от ProfessorNavigator (ok), 22-Окт-25, 00:13   +1 +/
> Так и не ваш тоже opennet.ru/opennews/art.shtml?num=64092
> Вы же не будете сравнивать какую-то либу с ядром.

Спасибо, посмеялся)) Не, не поможет ;)

> ЗЫ: а чего в ту тему не заглянули, проффесор? сказать нечего было?

Потроллить на сон грядущий ;) Не всё ж вам развлекаться))

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35 Ответы: #42

39. Сообщение от Аноним (15), 22-Окт-25, 00:13   –1 +/
> Так выход за границы массива это логическая ошибка или нет? Если программист на Си ошибётся в размере массива

Чисто казуистический прием. Разницу-то в ошибках вы (да все остальные) всё равно поняли ;)  Да, да, старая проблема при холиварах на этом сайте: как же обозвать все эти разные ошибки. Но тут уже более распространено мнение/определение, что есть ошибки работы с памятью (те 70% о которых гугл распинался), а есть остальные, "логические" (вот как раз когда не то или не оттуда считали или введенное значение на допустимость значений не проверили или когда уставший сонный программист знаки больше с меньше перепутал).

> Если программист на Си ошибётся в размере массива, то это одно, а когда на rust ошибка с размером в структуре данных, то это другое?

Это просто офигенно другое! И если ты этого честно не понимаешь (сомневаюсь в этом), то ты просто профнепригоден.

> Нет, дружочек, это одного рода проблемы

Не дружок ты мне пока, а тролль. И это очень разного рода проблемы.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24 Ответы: #66

40. Сообщение от Аноним (6), 22-Окт-25, 00:16   +2 +/
На другой тип ошибок нужен еще один ЯП!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #52

41. Сообщение от Аноним (-), 22-Окт-25, 00:17   –3 +/
>  нормальные люди пишут код так, чтобы он был легко читаем и понятен

Ага, видели мы тот код "от нормальных людей"
Как тебе функция-портянка на 1000+ строк кода?
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...
Естественно с кучей кала в виде goto - нормальной обработки ошибок ведь не завезли...

И ведь это ядро! Его же пишут профи))

> Необходимы клиники для реабилитации, а еще лучше принудительные работы не связанные с компьютерами

А принудительная стререлизация, ну чтобы уже на 100% как faшики, будет?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26 Ответы: #62, #65, #85

42. Сообщение от Аноним (-), 22-Окт-25, 00:21   –2 +/
> Спасибо, посмеялся)) Не, не поможет ;)

Конечно не поможет.
Если человек ставит в один ряд ядро линукс и какую-то либу от дилетантов.. то это многое о нем говорит)

> Потроллить на сон грядущий

Получилось весьма уныло.
Может лучше про коммунизм? Та щиза хотя бы веселее звучит!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #38 Ответы: #46

43. Сообщение от Аноним (-), 22-Окт-25, 00:22   +4 +/
> спецификацию расширили не пойми как

Там всё ещё интереснее. Этих форматов tar было как собак нерезаных. Когда POSIX решил это дело стандартизовать, он взял два формата ustar и PAX и объединил их в один. Это не расширение, это просто какой-то толпоиппизм. Я как-то думал написать реализацию tar в образовательных целях, в рамках ознакомления с каким-то очередным язычком программирования (а заодно и с tar ознакомиться), и забил именно из-за того, что разбираться со всеми этими завихрениями дидовского мышления не было никакого желания.

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

> Остаётся вопрос почему размер из PAX должен иметь приоритет

На этот вопрос ответить определённо я не могу, увы. Меня не хватило на то, чтобы изучить историю вопроса. Но это намекает на вероятный ответ (тавтологию): если для понимания современного положения дел надо изучать историю вопроса, значит это легаси, где решения определяются не здравым смыслом, а броуновским движением истории, где стандарты не создают реальность, а фиксируют её такой, какая она есть. Отливают её в граните, чтобы и потомкам наших потомков досталось бы.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12

45. Сообщение от Аноним (45), 22-Окт-25, 00:27   +/
> Когда даже книжный алгоритм приходится перелопачивать так, что он становится сам на себя не похож.

Из этой фразы любому программисту видно, что ты алгоритм заучил, а не понял. Что однозначно определяет тебя как кодера на одном языке, которому никакая клиника уже не поможет.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26 Ответы: #56

46. Сообщение от ProfessorNavigator (ok), 22-Окт-25, 00:31   +1 +/
> Конечно не поможет.
> Если человек ставит в один ряд ядро линукс и какую-то либу от
> дилетантов.. то это многое о нем говорит)

Снова посмеялся)) Не пытайтесь вырулить, говорю ж - не поможет)) Вам производители процессоров такую свинью подложили, прям загляденье.

>> Потроллить на сон грядущий
> Получилось весьма уныло.

Но вы ж стриггерились - значит уже нормально ;)


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #42

47. Сообщение от Аноним (15), 22-Окт-25, 00:32   +/
Так а что же ты про техдира гугла не завернул? Вот же он наверное лох, похоже из клиники для реабилитации выступал. Ну или его подло обманули агенты раста с метриками разработки, подло оболгав плюсовиков. Но я конечно поверю тебе, а не ему.

> Ты даже не понимаешь о чем речь, сразу видно что вкатился и варился

К твоему сожалению, правда совсем-совсем немного, понимаю. Года три назад, не зная языка, "не вкатываясь", просто взяв примеры кода и подправив их под себя, сделал себе утилитку, работающую с внешними ресурсами (отчеты с биржи стягивает). _Почти_ всё там было понятно и аккуратно. Но да, язык учить надо. Сложное так просто не напишешь. Впрочем, как и на си.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26

49. Сообщение от Грустный (?), 22-Окт-25, 00:33   +1 +/
Наконец-то хорошая новость.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

51. Сообщение от Аноним (15), 22-Окт-25, 00:33   –2 +/
Эти "сотни других неудобных примеров" только в Вашей голове? Откуда сотни примеров, если Вы и Ваши соратники утверждаете, что на расте вообще ничего не написано?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27 Ответы: #59

52. Сообщение от Аноним (52), 22-Окт-25, 00:34   –1 +/
Может, Zig?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40 Ответы: #90

53. Сообщение от morphe (?), 22-Окт-25, 00:36   +/
> Legacy? Не, не слышал. Конечно же, виновата спека, а не святые растоманы.

Так легаси точно так же этот PAX не читают и точно так же обосрутся как и реализация на Rust)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16

54. Сообщение от Аноним (52), 22-Окт-25, 00:37   +1 +/
Раст обделался с перепмсыванием, значит, tar ненужен! Л - логика.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31

55. Сообщение от Аноним (55), 22-Окт-25, 00:37   –4 +/
Сишникам совсем уже делать нечего. Нашли микроскопическую ошибку и раздули из этого целую "уязвимость".
Удалите новость, опеннет, не позорьтесь.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #58

56. Сообщение от Аноним (6), 22-Окт-25, 00:38   +/
Мне видно что ты читать не умеешь или какие-то ограничения в мыслительном аппарате, хз. Это где-то в первом классе у детей спрашивают про что пословица "без труда не вытащишь и рыбку из пруда" и они отвечают "про рыбку"
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #45

58. Сообщение от Аноним (52), 22-Окт-25, 00:39   +/
Нееет, выделите новость 20-м шрифтом.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #55 Ответы: #60

59. Сообщение от Аноним (6), 22-Окт-25, 00:41   +/
Ничего не пишут, только переписывают
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #51

60. Сообщение от Аноним (15), 22-Окт-25, 00:43   +/
Чтобы все оценили "кекспертизу" обсуждающих её сишников
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #58

61. Сообщение от Аноним (92), 22-Окт-25, 00:44   –1 +/
Почему программисты на Rust не могут <буквально> переписать логику с реализацией на C, а придумывают собственные дырявые велосипеды? Вообще, тот факт, что на Rust без ИИ программировать не получается по признанию его фанатов наводит на некоторые размышления...
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #78, #79, #121

62. Сообщение от Аноним (6), 22-Окт-25, 00:45   +2 +/
На расте функция конечно будет не 1000 строк, размер функций же от ЯП зависит
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #41

65. Сообщение от Аноним (92), 22-Окт-25, 00:59   –1 +/
Функцию на тысячу строк можно на любом языке написать, если что. Понимать подобный код на Rust будет также сложно как на C с goto, поскольку только в Rust и regex смысл строки может кардинально измениться всего из-за одного символа. Неудивительно, что без ИИ с ним не разобраться.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #41 Ответы: #83

66. Сообщение от Аноним (24), 22-Окт-25, 00:59   +1 +/
> а есть остальные, "логические" (вот как раз когда не то или не оттуда считали или введенное значение на допустимость значений не проверили или когда уставший сонный программист знаки больше с меньше перепутал).

Так выход за границы массива – это буквально всё, что вы перечислили.

Считали неопределённые данные.
Не проверили границу.
Уставший сонный программист запутался в инкременте в цикле for.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39 Ответы: #69, #71

69. Сообщение от Витюшка (?), 22-Окт-25, 01:20   +/
Уровень кекспертизы подоспел.
У вас есть буфер с содержимым "слово" из 5 символов.
По спецификации нужно прочитать третью букву "о", вы этого не поняли и прочитали букву в. Где здесь ошибка работы с памятью и где выходит за границы массива?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66

71. Сообщение от Аноним (15), 22-Окт-25, 01:30   +/
>> > а есть остальные, "логические" (вот как раз когда не то или не оттуда считали или введенное значение на допустимость значений не проверили или когда уставший сонный программист знаки больше с меньше перепутал).
> Так выход за границы массива – это буквально всё, что вы перечислили.

И тут врёте и всё перекручиваете. Говорю же, казуистика. Брехня.

>Считали данные не с того места.

Где тут выход за пределы массива? Я может потом просто захочу создать массив на это считанное откуда-то число элементов. Считал какие-то данные - не значит что полез в массив  по смещению или без проверки сложил значение с указателем, как в сишечке.

> Не проверили границу.

Где там про проверку _границ_ написано? Сами слово добавили и сами обвиняете? Допустимость значений - это типа "остаток на счете должен быть больше либо равен нулю". Где здесь граница? Да и в расте ты так просто и "незаметно", как в си, не выйдешь за границу массива.

> Уставший сонный программист запутался в инкременте в цикле for.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66

77. Сообщение от Аноним (77), 22-Окт-25, 02:04   +2 +/
Не ошибается тот, кто ничего не делает. Давайте зароем топор войны Rust и C!
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #107

78. Сообщение от Аноним (80), 22-Окт-25, 02:11   +/
>Почему программисты на Rust не могут <буквально> переписать логику с реализацией на C

Потому, что тогда у них будут буквально те же самые дыры, что и на си. Ибо на си нет афинных типов данных.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #61 Ответы: #91, #106

79. Сообщение от Медведь (ok), 22-Окт-25, 02:12   +5 +/
> Почему программисты на Rust не могут <буквально> переписать логику с реализацией на C, а придумывают собственные дырявые велосипеды? Вообще, тот факт, что на Rust без ИИ программировать не получается по признанию его фанатов наводит на некоторые размышления...

В основном они этим и занимаются, но специфика концепции владения в расте такова, что это не всегда возможно, боровчекер не велит. Ну и код они читать не особо привыкли, "компилируется --- значит, работает", вот их девиз.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #61

80. Сообщение от Аноним (80), 22-Окт-25, 02:25   –1 +/
>Так выход за границы массива это логическая ошибка или нет?

В новости ничего не говорится о выходе за границы массива, Rust от такого защищает.
>Если программист на Си ошибётся в размере массива

То будет порча памяти.
>а когда на rust ошибка с размером в структуре данных

Порчи памяти не будет. Вы не сможете прочитать/записать в чужую память, только в свою.
>то это другое?

Да, другое. В случае сишной уязвимости, при распаковке можно было бы вызвать условный curl | bash, здесь - только переписать файлы.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24 Ответы: #86

82. Сообщение от Медведь (ok), 22-Окт-25, 02:39   +2 +/
> Вот видите! Вот такими и должны быть баги, логическими ошибками, а не позорным переполнением буфера

Ффух, мне даже как-то легче стало. Так вот какими они должны быть -- баги на расте! Если я в программе на C сделаю баг как на расте -- можно? Или это будет опять позорный дыряшечный дидовский баг? Или такие баги разрешено делать только на расте, а всем остальным -- ни-ни, не трогай, это на новый год... ой, то есть для раста? Короче, можно полную инструкцию, какими должны быть правильные баги?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20 Ответы: #94, #128

83. Сообщение от morphe (?), 22-Окт-25, 02:55   +/
> поскольку в Rust смысл строки может кардинально
> измениться всего из-за одного символа.

А теперь приведи хоть один пример когда такое может произойти


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #65

85. Сообщение от Аноним (85), 22-Окт-25, 03:24   +/
> Естественно с кучей кала в виде goto - нормальной обработки ошибок ведь
> не завезли...

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #41 Ответы: #125, #131

86. Сообщение от Аноним (24), 22-Окт-25, 03:27   +/
> В случае сишной уязвимости, при распаковке можно было бы вызвать условный curl | bash

Нельзя. С чего бы? Если речь только про ошибку при обработке данных, а не ошибке работы с ram.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #80 Ответы: #122

87. Сообщение от Ruslan (??), 22-Окт-25, 03:54   +/
Так это же замечательно, что какой-то инструмент позволяет не думать о том, что к делу не относится и сосредоточиться на прикладной задаче.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25 Ответы: #92, #117

88. Сообщение от Аноним (88), 22-Окт-25, 04:05   +/
Очередные неосиляторы юнит тестов. Попросили бы ИИ написать, даже самим не надо париться.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #120

90. Сообщение от Аноним (90), 22-Окт-25, 04:31   +/
Хороший вариант. Вон, в Редоксе на него драйвера переписывают.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52 Ответы: #135

91. Сообщение от Аноним (92), 22-Окт-25, 04:36   +/
И что, без аффинных типов в безопасном коде на Rust будут дыры? Вот это новость!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #78

92. Сообщение от Аноним (92), 22-Окт-25, 04:54   +/
Вот сосредоточиться на прикладной задаче чет не получается.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #87

94. Сообщение от Аноним (20), 22-Окт-25, 05:45   +1 +/
Объясняю, почему так вышло - потому что в программе на Си такой баг тоже будет. Но прежде, чем поймать его, вы будете ловить переполнения буффера, двойное освобождение и прочие подобные баги памяти, и только потом логические. А тут вот ловятся сразу уже логические баги. Экономия времени
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #82 Ответы: #98

98. Сообщение от Аноним (-), 22-Окт-25, 06:41   +/
Во-первых, все баги которые могут случится на чистом Си хорошо документированы и описаны. Кто пишет на чистом Си, и реально желает избежать багов, тот их избежит. Вина в не внимательности и торопливости.

>А тут вот ловятся сразу уже логические баги. Экономия времени

Дело не в характере ошибок, делов их в количестве. Не думаю, что общее количество ошибок на Расте меньше, чем в Си.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #94 Ответы: #129, #138

102. Сообщение от Дурка (?), 22-Окт-25, 07:12   +1 +/
Лапша есть и возможна на каждом языке программирования.
Скажите вот эта растовая лапша, почему она вас так цепляет? Давайте проверим.
Макфа? Есть реакция?
Есентуки?
Медведь?
Анон?
Opennet?
Может быть Дядюшка Боб? Что-то есть фиксирую, мы теряем пациента, быстрее введите ему чистый код внутревенно.
Фух вроде отпустило?

А если серьезно даже не знаю чел сходи до книжного и прочитай чистая архитектура и идеальная работа.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #126

106. Сообщение от Фрол (?), 22-Окт-25, 07:51   +3 +/
скиньте кто-нить этому умнику линк на словарь Ожегова

а то от его "афинных" типов у меня скоро глаз дергаться начнет

услышал где-то умное слово и носится с ним, как дурень с писаной торбой

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #78 Ответы: #132, #139

107. Сообщение от Аноним (6), 22-Окт-25, 07:56   –1 +/
Вместе с ростом xd
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #77 Ответы: #109

109. Сообщение от Аноним (109), 22-Окт-25, 08:05   +/
V in vibrant community means CVE
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #107

112. Сообщение от Аноним (112), 22-Окт-25, 08:29   +1 +/
> Сотни других неудобных примеров мы конечно проигнорируем, да?

Какие сотни, если ты ни одного не привел?

Тебе вон дали буквально из соседней новости: кодя в Linux залит, и по сравнению с сишным стал не только проще, но и компактнее.

Скажешь что-то сожержательное?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27

113. Сообщение от Аноним (112), 22-Окт-25, 08:34   –1 +/
> А сколько багов остаются незамеченными тупо из-за того, что раст вынуждает писать нечитаемую лапшу

Откроем-ка осоеднюю новость: https://www.opennet.dev/opennews/art.shtml?num=64092

“Использование Rust позволило решить некоторые проблемы с которыми сталкивались разработчики Binder, включая ошибки, связанные с подсчётом ссылок, блокировками и проверкой границ, а также значительно уменьшить сложность обработки ошибок.“

Смотри, эксперт, количество ошибок при использовании Раста только убавилось. Как так?

> раздувать изначально компактный код в несколько раз

Из той же новости:

"драйвер на Rust получился меньше варианта на Си - 5.5 против 5.8 тысяч строк кода."

Смотри, Растовый код не только не раздулся по сравнению с изначальным сишным, но даже стал меньше его! Как так? 😭

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9

116. Сообщение от Тфьу (?), 22-Окт-25, 08:56   –1 +/
Обычная логическая ошибка. Сам Rust не причём.
Ответить | Правка | Наверх | Cообщить модератору

117. Сообщение от Аноним (117), 22-Окт-25, 09:02   +/
Тогда пиши на луа и питоне
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #87

118. Сообщение от Аноним (118), 22-Окт-25, 09:09   +/
в одну строку поди писали, все равно ведь раст нечитаемый.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23 Ответы: #134

120. Сообщение от Аноним (121), 22-Окт-25, 09:18   +/
Сама суть unit тестов в том, что ты их сам пишешь осознанно, и не доверяешь "ИИ" с его галлюцинациями.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #88

121. Сообщение от Аноним (121), 22-Окт-25, 09:21   +/
Кампания популяризации Rust от корпораций как раз нужна им, чтобы набить кодовую базу для "ИИ", а потом "ИИ" всё будет писать сам. Им для "ИИ" нужен был язык, где нет "утечек" по умолчанию. (хотя это спорно). В итоге в будущем много софта будет AI slop написанным на Rust
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #61

122. Сообщение от Аноним (80), 22-Окт-25, 09:23   +/
С того, что ошибки обработки данных в сишных программах встречаются редко, а вот ошибки управления памятью - часто.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #86

123. Сообщение от Аноним (123), 22-Окт-25, 09:23   +/
> От растовиков шум - не будет _только ошибок работы с памятью_ (если не пользоваться ансейфом), а не "всех-всех-всех ошибок"

не-не, там еще шум, что раз нет ошибок с памятью, то будет больше времени отловить остальные.
Вот отлов и пошел — tar не так распаковывается, с md5 тоже что-то не так

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21

124. Сообщение от ИмяХ (ok), 22-Окт-25, 09:28   –1 +/
>>вызвана некорректным выбором позиции в потоке

Нужно срочно изобрести язык, который защищает от некорректношо выбора позиции в потоке и всё ПО переписать на него.

Ответить | Правка | Наверх | Cообщить модератору

125. Сообщение от Аноним (80), 22-Окт-25, 09:30   +/
Лапшекод из goto осуждал ещё Дейкстра. Для нормальной обработки нужен как минимум типы Option и Result. А не спагетти, когда выполнение прыгает туда-сюда.
>Вот интересно, обработка ошибок по твоему она магическая какая-то или ей занимается отдельный код?

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

Он уже там есть, только в виде лапши из goto.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #85

126. Сообщение от Аноним (80), 22-Окт-25, 09:33   –1 +/
>Лапша есть и возможна на каждом языке программирования.

Не на каждом. Достаточно убрать goto и количество лапши уже резко упадёт.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #102

128. Сообщение от Аноним (80), 22-Окт-25, 09:36   +/
>Если я в программе на C сделаю баг как на расте -- можно?

Если матёрые сишники с этим не справляются, то почему вы должны?
>Короче, можно полную инструкцию, какими должны быть правильные баги?

Давайте. Как минимум без выхода за границы массива, двойного освобождения, висячих указателей, чтения нулевых указателей.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #82

129. Сообщение от Аноним (80), 22-Окт-25, 09:40   +/
>Во-первых, все баги которые могут случится на чистом Си хорошо документированы и описаны.

Часть багов, которые могут случится на си созданы разработчиками си и называются UB. Ещё часть багов никак не называется, но проистекает из тупой сишной семантики, типа отсуствия гигиенических макросов, нультерминированных строк, отсутствии алгебраических типов и так далее. И что в первом, что втором случае, нужно приложить достаточно усилий, чтобы очередной сишник заметил подвох.
>Дело не в характере ошибок, делов их в количестве. Не думаю, что общее количество ошибок на Расте меньше, чем в Си.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #98

130. Сообщение от Аноним (80), 22-Окт-25, 09:41   +/
>Не, ребят, сегодня не ваш день

Сказал человек неосиливший xml парсер. От вас так и веет некомпетентностью.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28

131. Сообщение от Прохожий (??), 22-Окт-25, 09:42   +/
Похоже, вы в упор не понимаете разницу между готовыми абстракциями (которые предоставляет Rust) и собственным велосипедом (который из проекта в проект изобретают программисты на C).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #85

132. Сообщение от Аноним (80), 22-Окт-25, 09:43   +/
>услышал где-то умное слово

Так я хочу, чтобы вы тоже услышали, а вы уши затыкаете. Ну и узнали что это такое.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #106

133. Сообщение от Соль земли2 (?), 22-Окт-25, 09:49   +/
И слепой поведёт слепого.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

134. Сообщение от Прохожий (??), 22-Окт-25, 09:51   +/
>в одну строку поди писали

1. Зачем вы свои проблемы проецируете на других?

2. Чтобы не заниматься догадками, можно полезть в исходный код и посмотреть самостоятельно. Или такое действие слишком сложно для типичного "эксперта“, воина борьбы супротив Rust?

Спойлер. Нет, в одну строчку на Rust (как и на любом другом языке программирования) типичные программисты не пишут.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #118

135. Сообщение от Аноним (52), 22-Окт-25, 09:53   +/
Да ну?! А что же с Растом не так?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #90

136. Сообщение от Соль земли2 (?), 22-Окт-25, 09:53   +/
Может проблема вообще в tar? С какого перепугу архив внутри архива воспринимается как продолжение одного?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #141

137. Сообщение от Аноним (109), 22-Окт-25, 09:54    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору

138. Сообщение от Аноним (138), 22-Окт-25, 10:00   +/
>Не думаю

пора начинать

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #98

139. Сообщение от Медведь (ok), 22-Окт-25, 10:03   +/
Большинство растеров сами не понимают, что это такое -- афинные типы. Но как звучит! Афинные! Греция, оливки, голые рабы на аренах... Они и бегут, пуская слюни и oбляпaвшись смyзи.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #106

140. Сообщение от Аноним (-), 22-Окт-25, 10:07   +/
> производители процессоров

Так в АРМ такая проверка уже давно есть.
Но раст в Андроид внедряют.

Если проверка такая крутая, то почему она не помогает))?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28

141. Сообщение от Аноним (-), 22-Окт-25, 10:08    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #136


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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