|
2.11, Аноним (11), 11:50, 01/04/2024 [^] [^^] [^^^] [ответить]
| +2 +/– |
Как я слышал, это от того, что ядро не разрабатывалось поддерживать такие вещи, и пихают невпиху3мое. А на модернизацию уйдёт ещё не одно десятилетие.
| |
2.18, Аноним (18), 12:15, 01/04/2024 [^] [^^] [^^^] [ответить]
| –17 +/– |
> use-after-free
Дело скорее в языке, чем в самом io_uring (но надо признать, что автор эпично прошел по всем граблям сишечки).
| |
|
|
4.25, Аноним (-), 12:44, 01/04/2024 [^] [^^] [^^^] [ответить]
| –3 +/– |
К чему твой висер типа "а у вас негров линчуют"?
Тред для растохейта на две тамы выше, дружок-пирожок.
У нас тут тема про то, что очередной погромист, любитель дыряшек, выдавил из себя такой код, что RCE в ядре была почти год.
И спасибо гуглу и его программистам, что они делают опенсорс лучше, а то тыщящи глаз как-то ничига не видят
| |
|
5.54, Стив Балмер (?), 14:59, 01/04/2024 [^] [^^] [^^^] [ответить]
| +5 +/– |
так гугл как и мягкие это часть тысячеглаза, ты что не знал ? у них же куча продуктов на линь завязана, вот и стараются
| |
|
6.102, Минона (ok), 22:59, 01/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
Нет, Стиви, Гугл и Ко это другого типа "тыщиглаз", эти смотрят в код и видят баги, а те другие "тыщиглаз" смотрят в код а видят фигу.
| |
|
7.110, Стив Балмер (?), 10:29, 02/04/2024 [^] [^^] [^^^] [ответить]
| +3 +/– |
да не, вырви уже из себя это раболепие, тысячеглаз это уже давно не тока отшельники в замызганных свитерах, это также и галстучники работающие на разные компании. Проблемы в коде замечают и те и другие, но твой ум зачем-то акцентирует внимание тока на вторых выделяя их в особую касту.
| |
|
6.149, aname (?), 13:23, 03/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
ЧСХ, из тысячеглаза, только одна пара нашла лютейший ад, который готовился в liblzma.
Так и живём
| |
|
5.55, Аноним (55), 15:06, 01/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
Тот же гугл не стал завозить Rust в Chrome, а решил свои проблемы с безопасностью памяти активным использованием санитайзеров включая MiraclePtr. Так что да, они делают опенсорс лучше.
| |
|
6.68, Анонин (-), 15:54, 01/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Тот же гугл не стал завозить Rust в Chrome
Точно не стал?
А то тут chromium.googlesource.com/chromium/src/+/refs/heads/main/docs/rust.md#Rust-in-Chromium какие-то чуваки пишут:
"The Rust toolchain is enabled for and supports all platforms and development environments that are supported by the Chromium project. The first milestone to include full production-ready support was M119.
Rust is approved by Chrome ATLs for production use in certain third-party scenarios."
MiraclePtr себя не оправдал. Там улучшение ~57% при значительном потреблении ресурсов.
https://www.opennet.ru/opennews/art.shtml?num=60482
| |
|
|
4.28, Аноним (28), 12:53, 01/04/2024 [^] [^^] [^^^] [ответить]
| +6 +/– |
> Ага ага
> https://github.com/Speykious/cve-rs
Ну давай посмотрим, че там:
[CODE]
pub fn segfault() -> ! {
let null = crate::null_mut::<u8>();
*null = 42;
[/CODE]
Смотрим, че эт за самописный null_mute:
[CODE]
/// Equivalent to ['std::ptr::null()'], but returns a null reference instead.
pub fn null<'a, T: 'static>() -> &'a T {
crate::transmute(0usize)
}
[/CODE]
далее оно уходит в велосипедно-обфусцированный transmute, в общем раз "equivalent", то заменяем на оригинал:
[CODE]
+++ b/src/segfault.rs
@@ -7,7 +7,7 @@
///
/// See ['crate::transmute()']
pub fn segfault() -> ! {
- let null = crate::null_mut::<u8>();
+ let null = std::ptr::null_mut::<u8>();
*null = 42;
[/CODE]
и вуаля:
[CODE]
cargo build
Compiling cve-rs v0.6.0 (/tmp-build/seg/cve-rs)
error[E0133]: dereference of raw pointer is unsafe and requires unsafe function or block
--> src/segfault.rs:11:2
|
11 | *null = 42;
| ^^^^^^^^^^ dereference of raw pointer
|
= note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
For more information about this error, try 'rustc --explain E0133'.
error: could not compile 'cve-rs' (lib) due to previous error
[/CODE]
В общем, опеннетный Военов Супротив Раста опять развели, как кроликов ...
Главное, повторять почаще.
| |
|
5.76, Аноним (76), 17:03, 01/04/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
Ну что-то вроде того ироничного репозитория с хэллоу ворлдом на расте на тысячи строк, собирающийся 5 часов.
Не видел чтобы кто-то делал такое же на си, но думаю 5 часами компиляции они не отделались бы.
| |
|
6.134, Аноним (134), 16:28, 02/04/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Не видел чтобы кто-то делал такое же на си
Правильно. Потому что программисты на Си работают.
| |
6.148, 12yoexpert (ok), 13:10, 03/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
где-то проводили конкурск на самый короткий и долгокомпилирующийся код на си. там чел каким-то кривым include-ом отправил компилятор на вечную компиляцию
| |
|
|
4.41, Аноним (18), 14:10, 01/04/2024 [^] [^^] [^^^] [ответить]
| +5 +/– |
Эпичный тред, в котором это пытаются заставить работать - https://github.com/Speykious/cve-rs/issues/4
Если для случайного выстрела в ногу, как в сишечке, нужен консилиум из нескольких программистов и несколько дней упорных попыток выйти за границы буфера - то это эпик фейл растохейтров.
| |
4.45, Анонин (-), 14:24, 01/04/2024 [^] [^^] [^^^] [ответить]
| +3 +/– |
Ой, да ладно вам гнать на этот проект.
Он и аналогичные очень полезны! Благодаря им можно найти в расте soundness и исправить.
Потому что бездумно верить что багов нет - просто преступление.
Так что пусть чуваки развлекаются разными извращениями и в итоге делают раст еще лучше и надежнее.
| |
4.143, namenotfound (?), 03:00, 03/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
я вообще не врубаюсь что это доказывает
ну типа, да, нынешняя реализация трейтов в rustc - чистый ужас, и ее нужно переделывать, это уже и так известно достаточно давно
но это же не проблема в спеке, спек сам уже формально доказан
это как ткнуть в баг в gcc или clang и сказать, что это весь си неправильный
| |
|
|
2.22, Аноним (22), 12:34, 01/04/2024 [^] [^^] [^^^] [ответить]
| +3 +/– |
Мне кажется система io_ring немного переусложнена там слишком много флагов, опций и режимов. Им нужно было начинать как-то попроще с минимум опций, а когда уже точно протестировано хорошо добавлять свои опции понемногу. Ну и сама конструкция с shared memory и кольцевыми буферами в ней не совсем уж простая в реализации.
| |
|
3.57, Аноним (-), 15:22, 01/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
Не, не сработает.
Сразу начнется вой и нытье, что 'именно это флажок мне нужен', 'добавьте немедленно', 'работало, а вы все сломали', 'вы мне обязаны, 'я вашим ио-рингом пользуюсь'
Уже такое проходили с вейландом, когда с нуля начали создавать и реализовывать протоколы, так фанаты иксов ноют до сих пор.
| |
|
4.105, Аноним (105), 01:13, 02/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
Ну так может не надо с нуля переписывать то, что уже работает и чем люди пользуются? Говно же каждый раз выходит.
| |
|
5.126, Василий (??), 14:53, 02/04/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Ну так может не надо с нуля переписывать то, что уже работает и чем люди пользуются? Говно же каждый раз выходит.
Это же ты про X windows system написал, который переписывали и форкали за его историю множество раз?. И всё равно дырявое получилось как ни старались.
| |
|
|
|
2.65, Аноним (65), 15:42, 01/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
По той же причине, что и в BPF, nftables. Не отловили ещё всех багов.
| |
2.87, vitalif (ok), 18:25, 01/04/2024 [^] [^^] [^^^] [ответить]
| +3 +/– |
Асинхронщина. А ядро хронически писали как синхронное тредовое г**но. Вылезают проблемы синхронизации :-)
| |
|
3.104, 1апреля (?), 00:47, 02/04/2024 [^] [^^] [^^^] [ответить]
| +2 +/– |
А как надёжно отладить все возможные ситуации в асинхронке? Это не F5 в браузере нажать
| |
|
|
1.4, Аноним (4), 11:28, 01/04/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Автора этого поделия давно пора взять на карандаш: не первая его уязвимость и что-то мне подсказывает, что не последняя.
| |
|
2.12, Аноним (-), 11:51, 01/04/2024 [^] [^^] [^^^] [ответить]
| +2 +/– |
Можешь автора этого поделия брать хоть за карандаш, хоть за что угодно.
А толку, все равно у тебя нет замены для этой лабуды.
Конечно ты мог бы взять и написать свой вариант асинк И/О, и я думаю, что у тебя бы получилось без ошибок, но это не точно)
Гугл, который собственно и нашел уязвимость, пишет что
60% of the submissions exploited the io_uring component of the Linux kernel
https://security.googleblog.com/2023/06/learnings-from-kctf-vrps-42-linux.html
Возможно поэтому они эту лажу отключили и в андроиде, и в хромоси.
А лапчатые пусть сидят на бекдорах)
| |
2.24, Аноним (22), 12:38, 01/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
Просто он как-то переусложнил всё, там миллион разных флагов, поэтому и уязвимости сыпятся.
| |
2.30, Аноним (22), 13:10, 01/04/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
В любом случае если его правильно реализовать это выходит самый эфиктивный способ i/o общения с ядром.
| |
|
1.5, Аноним (11), 11:29, 01/04/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Наверное, имеет смысл отключать сабж, вроде нигде кроме qemu и не используется (хотя ускорение обещают приятное в теории). Лично я давно отключил -- если я не использую, никакого смысла держать этот бэкдор ядре. Ну а кто там дистрибутивные ядра со всеми бэкдорами использует, тем только страдать.
| |
|
2.7, Аноним (11), 11:36, 01/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
Правда, в libuv собирались добавить, и вот это поделие ускорить бы неплохо.
| |
|
1.6, Аноним (-), 11:36, 01/04/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Сначала подумал, что это шутка, ведь сегодня День Дурака.
А потом решил, это же use-after-free и получение рута, и с таким не шутят)
В общем классическая уязвимость "позволяющая непривилегированному пользователю получить права root в системе" да еще и с рабочим эксплойтом.
Хорошо, что это совсем-словсем не связанно с используемым языком, и возможностями по отстрела ног которые он дает.
| |
|
2.19, Аноним (19), 12:17, 01/04/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
Да господи, язык тот тут причем?
Если программист не хочет или не может банально обнулить указатель после освобождения памяти, то увы, вина того, кто пишет
| |
|
3.23, Аноним (-), 12:35, 01/04/2024 [^] [^^] [^^^] [ответить]
| +2 +/– |
Хм, а я что сказал что "виноват язык"?
Понятно что програмер если захочет, то может сделать и один free, и два, и десять.
А потом попробовать обратиться к мертвому объекту.
Но представь у тебя есть две дороги, одна двухполосная без отбойника, а другая такая же но с отбойником. Как думаешь, где плохих аварий будет больше?
| |
3.26, Аноним (26), 12:49, 01/04/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Да господи, язык тот тут причем?
При том, что он не должен не должен пропускать подобные банальные штуки.
Если язык не может, значит нужно использовать чекеры, санитайзеры и прочие утилиты для обнаружения детских ошибок.
Если ни язык, ни экосистема этого языка не позволяют создать 100% защиту от подобных ошибок, значит виноват язык.
Здесь часто говорят, что "проблем нет, надо просто использовать простой советский...", но что-то в больших проектах никак не найдёт способ избавиться от детских болезней. Вывод очевиден - это невозможно, и виной - язык.
| |
|
4.33, ИмяХ (ok), 13:18, 01/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
>>значит нужно использовать чекеры, санитайзеры и прочие утилиты для обнаружения детских ошибок
Но почему-то никто этого не сделал перед тем, как принять код в ядро. Ни комитет, который принимает патчи, сам Линус, ни мейнтейнеры, ничего не сделали, чтобы предотвратить это. Либо делали, но намерено скрывали, чтобы продать информацию троянописателям.
| |
|
5.35, Аноним (-), 13:32, 01/04/2024 [^] [^^] [^^^] [ответить] | +/– | Давай воспользуемся бритвой Хэнлона и попытаемся не приписывать злому умыслу то... большой текст свёрнут, показать | |
5.60, Аноним (60), 15:27, 01/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
Сам Линус как был замшалым финским студентом с версией 0.1, так и остался им на всю жизнь. Отсюда и все беды Linux. В академических осях инновации более осмысленные. Как следствие, проблемы намноооого реже. Линуса от управления разработкой ядра надо давно смещать. Сейчас в ядро тянется все подряд, а Линус, как собачка на торпеде, одобрительно на всё.
| |
|
6.90, Аноним (65), 19:20, 01/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
Только вот академический Minix имеет практических использований раз (IntelME)... и всё, в отличие от неакадемического.
| |
|
7.99, Аноним (-), 22:19, 01/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
Подумаешь, сотни миллионов процессоров по всему миру.
Вот тебе и академический код)
А еще можно вспомнить всякие нетфликсы и амазоны.
И старую маоксь...
О, вспомнил еще про ThreadX, которая сейчас Azure RTOS - 20 лет в проде, более 12 миллиардов устройств, успешный коммерческий проект.
Это тебе не дырявое ядро впаривать.
| |
|
|
|
4.43, Витюшка (?), 14:16, 01/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
В ядре часто код который в main попадает тупо банально даже не компилируется!!! На это раз жаловался сам Линус. Так что до стадии "виновата С дыряшка" там просто не дошли.
| |
|
5.46, Анонин (-), 14:27, 01/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
> в main попадает тупо банально даже не компилируется
Серьезно?
А можно ссылки на PR или обсуждения?
Потому что это... это даже не неуважение к участникам, а какая-то профнепригодность какая-то.
У нас бы такого разраба бы просто уволили, если бы не исправился.
PS: как вообще можно залить некомпилируемый код? Его же CI не пропустит.
| |
|
6.61, User (??), 15:27, 01/04/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
> PS: как вообще можно залить некомпилируемый код? Его же CI не пропустит.
Хе-хе-хе. Какой-такой си-ай хен-тай? Мы такого не знай - вон, оно в почту пролезай - фигли еще надо?!
| |
6.75, Витюшка (?), 16:40, 01/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
Естественно я сейчас не найду. Там очень много чего не работает на других архитектурах.
Те код (общий) не компилируется под какую-то архитектуру, не то что не тестируется. На это Линус и жаловался. Какая-то там архитектура не помню, но не прямо какая-то экзотическая, risc-v типа того. Он в итоге завернул этот код (он прилетел из веток linux-next или какой-то подсистемы).
Те он решил что-то сам ручками потестить, а оно даже не скомпилировалось :))
Ни про какие CI я не слышал в Linux kernel.
| |
|
7.79, Анонин (-), 17:33, 01/04/2024 [^] [^^] [^^^] [ответить]
| +2 +/– |
Спасибо за пояснение. Нашел.
То что на это сагрился сам Торвальдс всё существенно упростило))
"Your testing is seriously lacking.
This doesn't even build."
lore.kernel.org/dri-devel/CAHk-=wgPJttFz8yrdpPTN-ypMmDXHOKw9yi1nZSEq+7+tGftZA@mail.gmail.com/
Хорошо живут разрабы ядря.
Вот мне, смузихлебу, нужно чтобы прошел линтер, код скомпилился под все целевые таргеты и прошли все тесты.
И только тогда оно попадает на ревью.
А если что-то меняешь - то тесты бегут заново. И ревью тоже сбрасывается((
С другой стороны, разрабы ядра люди занятые, на них большая ответственность.
Поэтому они могут ответственно сказать "LGFM" и замерджить.
| |
|
|
|
|
3.27, Аноним (27), 12:53, 01/04/2024 [^] [^^] [^^^] [ответить]
| –3 +/– |
В нормальных же языках такое в принципе нельзя сделать. Памятью там управляет не программист, а сборщик мусора.
| |
|
|
5.48, Аноним (27), 14:38, 01/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
Ответ был на фразу "да причем здесь языки вообще". Что стоит использовать или нет в ядре - это существенный вопрос конечно, но другой.
| |
|
|
5.50, Аноним (27), 14:42, 01/04/2024 [^] [^^] [^^^] [ответить]
| –2 +/– |
Ок, продолжайте использовать неигрушечные, позволяющие заинтерисованным лицам всегда иметь незакрытые дыры в линуксах
| |
5.144, Аноним (144), 03:47, 03/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
игрушечных? то, что они не предназначены для системного программирования/embedded/жесткого реального времени не мешает языкам со сборкой мусора доминировать во всех остальных областях, так как в абсолютном большинстве случаев конечному потребителю ПО плевать на задержки, пока они от нескольких десятков до пары сотен миллисекунд.
| |
|
|
|
4.69, Аноним (19), 16:08, 01/04/2024 [^] [^^] [^^^] [ответить] | +/– | Ну тогда asm volatile заинлайнить, где тупо xor делается, такое по идее не должн... большой текст свёрнут, показать | |
|
5.73, Аноним (73), 16:33, 01/04/2024 [^] [^^] [^^^] [ответить] | +1 +/– | Странно, обычно адепты СИ просто писаются от осознания сколько платформ поддержи... большой текст свёрнут, показать | |
5.81, Аноним (-), 17:47, 01/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
> если раст такое позволяет из коробки делать, то велик шанс того, что такие концепции работы с памятью вообще могут стереться из общественного сознания через пару поколений
Если будут не нужны, то сотрутся так же, как навыки разведения огня без зажигалки, или умение считать в уме без калькулятора. Если будут востребованы, то никуда они не денутся.
| |
5.84, Аноним (-), 18:08, 01/04/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Вот я о чем: если раст такое позволяет из коробки делать, то велик шанс того, что такие концепции работы с памятью вообще могут стереться из общественного сознания через пару поколений
Они либо полезные, либо их не так уж жалко.
Родители рассказывали как картошку копать, в поездках в колхоз от университета.
Моя бабаушка рассказывала как стирать белье в проруби и как косить корм скотине.
Думаю ее родител могли бы рассказать как чистить примус или разжигать дровяную печку.
Я уже молчу про древних-древних предков, которые рассказали бы (при помощи 50 звуков и нескольких жестов) как сделать надежную палку-копалку, выбрать кремнь для каменного наконечника и как свалить мамонта.
Но мне эти навыки нафиг не упали. И я надеюсь, что и не понадобятся.
| |
|
4.98, Аноним (98), 21:24, 01/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
Не совсем по теме, но очень нравится, как там взяли решение из документа комитета[1], но поменяли слова "некоторые компиляторы выкидывают volatile в нарушение стандарта" на "выкидывают в строгом соответствии со стандартом".
"should work on any standard-compliant platform. There has been recent notice that some compilers violate the standard by not always respecting the volatile qualifier."
==>
"calling functions and accessing volatile-qualified objects can still be optimized out (while maintaining strict conformance to the standard)"
[1] https://www.open-std.org/jtc1/sc22/wg14/www/docs/n1381.pdf
| |
|
3.70, fidoman (ok), 16:14, 01/04/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
Угу, а также найти все прочие указатели на эту область памяти, и тоже обнулить.
И ядру сказать, вот я передавал указатель при вызове асинхронной функции, его тоже обнули.
Если бы всё так просто решалось...
| |
3.83, Аноним (-), 18:06, 01/04/2024 [^] [^^] [^^^] [ответить] | +/– | В этой уязвимости я б сказал язык действительно не при чём Но тут ты не прав ко... большой текст свёрнут, показать | |
|
4.112, n00by (ok), 11:44, 02/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Но найти все указатели хранящие данный адрес в общем случае может только
> сборщик мусора.
В частном хватает std::shared_ptr<>.
> В специальном случае программист может следить за тем, чтобы
> адреса такого рода хранились бы каждый в единственном экземпляре, что делает
> поиск ненужным.
Это делает std::unique_ptr<>.
А Rust что делает? unique_ptr выполняет на этапе компиляции, а в остальных случаях просто бьёт по руками и не позволяет написать код? Или там свой std::shared_ptr<> для неопределённого на этапе трансляции количества указателей?
| |
|
5.118, Аноним (-), 12:26, 02/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
> unique_ptr выполняет на этапе компиляции
Если очень-очень упрощенно - то да. Только unique_ptr нужно проверять на empty, а тут не нужно.
> а в остальных случаях просто бьёт по руками
Да, и соответствующими ошибками компиляции намекает что нужно исправить код или использовать другие примитивы.
> и не позволяет написать код
Не позволяет писать заведомо невалидируемый код.
Но у раст есть свои аналоги shared_ptr:
Rc - Single-threaded reference-counting pointer (doc.rust-lang.org/std/rc/struct.Rc.html)
Arc - Thread-safe reference-counting pointer (doc.rust-lang.org/std/sync/struct.Arc.html)
| |
|
6.123, n00by (ok), 13:02, 02/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
>> и не позволяет написать код
> Не позволяет писать заведомо невалидируемый код.
> Но у раст есть свои аналоги shared_ptr:
> Rc - Single-threaded reference-counting pointer (doc.rust-lang.org/std/rc/struct.Rc.html)
Не подходит, код ядра выполняется в произвольном потоке.
> Arc - Thread-safe reference-counting pointer (doc.rust-lang.org/std/sync/struct.Arc.html)
The type Arc<T> provides shared ownership of a value of type T, allocated in the heap.
В ядре в общем случае нет кучи.
If you need to mutate through an Arc, use Mutex, RwLock, or one of the Atomic types.
То есть выбор сводится к:
1. Написать заведомо невалидируемый код.
2. Висеть в примитивах синхронизации, как и в наивной реализации std::shared_ptr.
| |
|
7.125, Аноним (-), 14:51, 02/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
Для ядра возможно есть специальные конструкции.
Но какие именно не скажу, это нужно лезть в соответствующую ветку rust-for-linux и смотреть что нового.
Или в ядро, если кода уже перенесли.
Но т.к. я ни разу не ядерщик, то умываю руки)
| |
|
8.137, n00by (ok), 17:49, 02/04/2024 [^] [^^] [^^^] [ответить] | +/– | Суть в том, что если всё это переносится в рантайм, то преимущества перед плюсам... текст свёрнут, показать | |
|
7.142, Аноним (-), 20:07, 02/04/2024 [^] [^^] [^^^] [ответить] | +/– | Это может быть не важно, в каком потоке он выполняется Главное чтобы к Rc не бы... большой текст свёрнут, показать | |
|
8.146, n00by (ok), 11:44, 03/04/2024 [^] [^^] [^^^] [ответить] | +/– | Такие попытки как раз и будут Приложение вызвало syscall, далее поток работает ... большой текст свёрнут, показать | |
|
9.150, Аноним (-), 15:40, 03/04/2024 [^] [^^] [^^^] [ответить] | +/– | Представь себе ситуацию let global_structures Mutex new GlobalStructures ne... большой текст свёрнут, показать | |
|
10.153, n00by (ok), 19:39, 03/04/2024 [^] [^^] [^^^] [ответить] | +/– | gt оверквотинг удален Подобный подход вообще не очень хорош, потому что все вы... большой текст свёрнут, показать | |
|
|
|
|
|
5.141, Аноним (-), 19:44, 02/04/2024 [^] [^^] [^^^] [ответить] | +/– | Ты сейчас говоришь про случай описанный в новости, или просто произносишь общую ... большой текст свёрнут, показать | |
|
6.147, n00by (ok), 12:23, 03/04/2024 [^] [^^] [^^^] [ответить] | +/– | Вот прямо сейчас я начну говорить о том, что не стоит вырезать контекст вернул ... большой текст свёрнут, показать | |
|
7.151, Аноним (-), 16:12, 03/04/2024 [^] [^^] [^^^] [ответить] | +/– | Это решается интеллектом, который должен остановиться и подумать, что речь идёт ... большой текст свёрнут, показать | |
|
8.152, n00by (ok), 18:46, 03/04/2024 [^] [^^] [^^^] [ответить] | +/– | gt оверквотинг удален Вот эту последнюю проблему и решает RAII Всё освобождае... большой текст свёрнут, показать | |
|
|
|
|
|
3.103, Аноним (103), 00:16, 02/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
Шутите? Это вина только языка. Язык такие вещи должен как минимум предотвращать, как максимум не требовать. А C - это по современным меркам и не яп вовсе.
| |
|
|
1.8, Аноним (8), 11:38, 01/04/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Какого лешего io_uring можно отключить только переконпеляцией? Почему не сделают аргумент командной строки, чтоб можно было продолжать использовать дистрибутивные ядра, но без io_uring?
| |
1.29, Аноним (29), 12:55, 01/04/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Что такое этот io_uring и можно ли его отключить?
И да, кто-то тестил у себя этот эксплоит? Что он делает с системой?
| |
1.49, Golangdev (?), 14:38, 01/04/2024 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
> В настоящее время публично доступен работающий эксплоит, а также подробно описана вторая техника эксплуатации уязвимости.
вот это я понимаю, предоставили пруф.
а не то как другие - типа "-ааа, уязвимость, ааа, паника, срочно покупайте наш ссаный антивирус, но пруфа мы не предоставим"
| |
1.67, Аноним (67), 15:45, 01/04/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
> Проблема проявляется начиная с выпуска ядра Linux 6.4
Новые выпуски ядра должны решать проблемы, а не создавать их
| |
|
2.71, Аноним (73), 16:20, 01/04/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
>> Проблема проявляется начиная с выпуска ядра Linux 6.4
> Новые выпуски ядра должны решать проблемы, а не создавать их
Если бы так было, то ядро стало бы мегастабильным.
И тогда вся орава писак просто стала бы ненужна.
А как бродатый комми говорил? "на GPL коде можно заработать только на поддержке и/или исправлении уязвимостей".
Вот они и стараются)
| |
|
3.80, Аноним (80), 17:34, 01/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
> И тогда вся орава писак просто стала бы ненужна.
А как бродатый комми говорил? "на GPL коде можно заработать только на поддержке и/или исправлении уязвимостей".
Ссылку на цитату не приведёшь?
| |
|
|
|
6.132, Аноним (-), 16:22, 02/04/2024 [^] [^^] [^^^] [ответить] | +/– | Не соглашусь, тк он в пример приводит агенство вроде Национального научного фон... большой текст свёрнут, показать | |
|
7.136, n00by (ok), 17:35, 02/04/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
Что Столлман срисовал идею с ГосФАП - вполне возможно. Есть и версия по этому поводу, что ЦРУ посчитали хранимый там объём исходников под PDP11, сравнили со своим, а в итоге DEC совершенно случайно приказала долго жить. Некоторые на такую версию вешают ярлык "конспирология", но при этом забывают, что DEC поднялась на госзаказах (как и IBM, но от другого ведомства).
Разница в том, что в СССР была одна партия, а в США - две. И кто стабильно голосует за победителя на выборах, тому и достаётся финансирование в случае победы. Единый центр получил бы там слишком много власти, вплоть до возможности навязывать свою волю производителям железа, а через них и вообще задавить республиканцев.
| |
|
|
|
|
|
2.74, BorichL (ok), 16:39, 01/04/2024 [^] [^^] [^^^] [ответить]
| +3 +/– |
Да надо просто работать из-под учётки root, тогда на все эти уязвимости насрать ;-)
| |
|
3.86, Аноним (-), 18:20, 01/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
????? Поясни мысль. ты хотел сказать, что "не надо просто работать из-под учётки root".
| |
|
4.88, BorichL (ok), 18:42, 01/04/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
> ????? Поясни мысль. ты хотел сказать, что "не надо просто работать из-под
> учётки root".
Нет, не надо быть зассыхой и надо работать из-под учётки root, тогда все уязвимости в получении прав root'а теряют смысл ;-)
| |
|
3.92, вася (??), 19:33, 01/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
Нужно просто из квартиры выпилить входную дверь и тогда на все эти проблемы со взломом замков будет нacpaть
| |
3.94, Аноним (65), 19:43, 01/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
Просто заходи в /bin, /usr/bin, /sbin, /usr/sbin и свободно модифицируй любые файлы там. Да хоть все. И в чём прелесть, что для этого не надо ничего ломать. Вот тогда вирусам для Linux точно цвесть.
| |
|
|
1.93, Андрей (??), 19:41, 01/04/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
gcc exploit.c
exploit.c:5:10: фатальная ошибка: liburing.h: No such file or directory
5 | #include "liburing.h"
| ^~~~~~~~~~~~
компиляция прервана.
| |
1.100, sena (ok), 22:37, 01/04/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
не компилируется
cc exploit.c -o exploit
exploit.c: In function ‘hppa_br_setup’:
exploit.c:81:12: error: ‘struct io_uring_buf_reg’ has no member named ‘flags’
81 | reg.flags = IOU_PBUF_RING_MMAP;
| ^
exploit.c:81:21: error: ‘IOU_PBUF_RING_MMAP’ undeclared (first use in this function)
81 | reg.flags = IOU_PBUF_RING_MMAP;
| ^~~~~~~~~~~~~~~~~~
exploit.c:81:21: note: each undeclared identifier is reported only once for each function it appears in
exploit.c:90:15: error: ‘IORING_OFF_PBUF_RING’ undeclared (first use in this function); did you mean ‘IORING_OFF_CQ_RING’?
90 | off = IORING_OFF_PBUF_RING | (unsigned long long) bgid << IORING_OFF_PBUF_SHIFT;
| ^~~~~~~~~~~~~~~~~~~~
| IORING_OFF_CQ_RING
exploit.c:90:67: error: ‘IORING_OFF_PBUF_SHIFT’ undeclared (first use in this function); did you mean ‘IORING_CQE_BUFFER_SHIFT’?
90 | off = IORING_OFF_PBUF_RING | (unsigned long long) bgid << IORING_OFF_PBUF_SHIFT;
| ^~~~~~~~~~~~~~~~~~~~~
| IORING_CQE_BUFFER_SHIFT
| |
|
2.145, платиновый спонсор (?), 11:36, 03/04/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Ну вот зачем это в ядре по умолчанию, а. Кому оно нужно кроме полутора мегамонстров?
Ядро-то ? Правильно, никому оно ненужно. В смысле - настолько чтобы платить вашему б-жку с пальцем по ляму долларов в месяц.
Поскреби по кармашкам - может, найдешь?
Хахаха! Вот поэтому мы этот дэушка и будим танцыват. Ну и кое что после танцев.
| |
|
|