Профиль: Аноним (вход | регистрация)
OpenNET

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



"Критическая уязвимость в декодировщике Brotli, затрагивающая Node.JS,  Bun, браузеры, HTTP-клиенты и другие пр..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Критическая уязвимость в декодировщике Brotli, затрагивающая Node.JS,  Bun, браузеры, HTTP-клиенты и другие пр..."  +1 +/–
Сообщение от opennews (??), 24-Окт-26, 19:23 
В библиотеке с эталонной реализацией декодировщика формата сжатия данных Brotli выявлена  уязвимость (CVE-2026-111497, кодовые имена Broccoli2Shell и HTTP2Shell), приводящая к переполнению буфера при обработке специально оформленных сжатых данных. По данным Google уязвимость может использоваться для удалённого выполнения кода при атаке на проекты, использующие официальную реализацию декодировщика Brotli. Среди затрагиваемых уязвимостью проектов: Node.js, Bun, Envoy, Istio, web-браузеры, прокси-серверы, HTTP-клиенты, HTTP-серверы, архиваторы, прокси-серверы, UEFI-прошивки, просмотрщики JPEG XL, декодирующие контент библиотеки для Python, Ruby, Java, PHP и .NET  и связанные с ними зависимости...

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

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

Оглавление

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


2. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  –3 +/–
Сообщение от Аноним (2), 24-Окт-26, 19:23 
> Brotli

Впервые слышу, чо это вообще?

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

3. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +8 +/–
Сообщение от titt (?), 24-Окт-26, 19:26 
альтернатива gzip, чтобы сжимать данные веб трафика и тд
Ответить | Правка | Наверх | Cообщить модератору

28. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от нах. (?), 24-Окт-26, 20:32 
помню славные времена диалапа, тогда ничего сжимать не надо было и страницы грузились даже на тех соединениях быстрее современного оптимизированного вэба, когда и где свернули не туда?
Ответить | Правка | Наверх | Cообщить модератору

44. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +25 +/–
Сообщение от Аноним (44), 24-Окт-26, 21:31 
Не надо сказок, помню я, как они грузились (это когда грузились вообще).
Кстати, gzip-сжатие чуть ли не с появления веба использовалось.
Ответить | Правка | Наверх | Cообщить модератору

81. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +2 +/–
Сообщение от Brian (?), 25-Окт-26, 00:58 
сарказм? опера для тебя шутка?
Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

142. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +2 +/–
Сообщение от Ivan_83 (ok), 25-Окт-26, 03:22 
Ты видимо забыл что модем сам умел аппаратно чего то там сжимать, от чего большие тексты могли пролетать быстрее скорости линка мопеда :)

Зато теперь ты вебкамщице модешь прямо через браузер дикпик показать в действии через вебку в обмен на деньги (тоже через браузер кстати) и то как у себя там крутится :)

И ты же не будешь спорить что видео в браузере лучше чем та масяня и крокмен что мы мотрели через флешплеер плагин :)

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

154. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (154), 25-Окт-26, 13:48 
Масяня, кстати, тоже не то что б летала. Сейчас взял старый (аж 2001 года) SWF с нею, 981 Кб. Исходя из скорости 4 Кб/с (а это ещё оптимистично) — загрузился бы он за 245 с. А ролик порядка 160 с.
Ответить | Правка | Наверх | Cообщить модератору

186. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +1 +/–
Сообщение от Ivan_83 (ok), 25-Окт-26, 23:08 
Не летала, но это была единственная возможность за адекватное время что то посмотреть через инет.
Ответить | Правка | Наверх | Cообщить модератору

200. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +2 +/–
Сообщение от Аноним (200), 26-Окт-26, 01:20 
> видео в браузере лучше чем та масяня

видео-то на ютупах какое-то есть, а масяни нету... разучились делать.

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

216. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +2 +/–
Сообщение от Аноним (216), 26-Окт-26, 11:07 
Последний эпизод — две недели назад.
Ответить | Правка | Наверх | Cообщить модератору

217. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  –1 +/–
Сообщение от Аноним (217), 26-Окт-26, 12:32 
это уже не масяня, а натужная хрень в 4к.
Ответить | Правка | Наверх | Cообщить модератору

229. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (229), 26-Окт-26, 22:09 
НЕ ТА!
Ответить | Правка | Наверх | Cообщить модератору

145. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +1 +/–
Сообщение от blin_glitor (?), 25-Окт-26, 06:51 
> диалапа, тогда ничего сжимать не надо было

1) MNP5, V42bis - ни о чем не говорит ?
2) сжатие van Jacobson внутри PPP. про SLIP ничего не скажу, не работал с ним.

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

181. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +1 +/–
Сообщение от Ivan_83 (ok), 25-Окт-26, 21:40 
Jacobson сжимал только IP/TCP заголовки, это даже для диалапа крохи.

Вот V42bis я как то видел в деле, когда выкачивал пачку RFC в текстовом формате, где то х2 скорость была от моего линка.

MNP5 - что то не припоминаю.

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

222. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от _ (??), 26-Окт-26, 19:47 
MNP5 - в отличии от V42bis был во всех модемах (ну Ок, был у меня ISA 2400bops - там не было) ...
Или что ты имеешь в виду про "не-припомню" ?
Ответить | Правка | Наверх | Cообщить модератору

226. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Ivan_83 (ok), 26-Окт-26, 21:03 
Названия я не помню, так то может и был, вот V42bis помню :)
Ответить | Правка | Наверх | Cообщить модератору

233. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от blin_glitor (-), 30-Окт-26, 23:14 
> MNP5 - что то не припоминаю.

en.wikipedia.org/wiki/Microcom_Networking_Protocol#MNP_5

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

212. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +1 +/–
Сообщение от Аныным (?), 26-Окт-26, 03:32 
Наглейшее враньё. Быстро грузилось, только если сайт был сверстан максимально аскетично, таблицами на одних заливках и цветных прямых линиях. Родной поддержки векторной графики не было в браузерах ОЧЕНЬ долгое время, поэтому добавление красивостей в растровой графике на сайт в стратегические места было сродни решению задачи о рюкзаке. До сих пор в памяти живо, как на ПК под Win2000 заходил на сайт и бежал к родителям спрашивать разрешения, можно ли в IE включить режим "загружать с картинками".
Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

6. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +3 +/–
Сообщение от Ятыаноним (?), 24-Окт-26, 19:30 
элитные гуглоидные программисты накодили замену gzip
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

20. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (20), 24-Окт-26, 20:27 
gzip то еще в апреле уязвимый оказался!
Ответить | Правка | Наверх | Cообщить модератору

85. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  –1 +/–
Сообщение от Ivan_83 (ok), 25-Окт-26, 01:18 
Ну так к слову им то оно окупилось.
Даже если оно на 1% лучше жмёт при тех же затратах проца это уже весьма заметные деньги на их объёмах отдачи, даже если из этой отдачи считать только текст.
Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

157. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (154), 25-Окт-26, 14:01 
Нужно ещё учитывать, что далеко не всё жмётся каждый раз, есть и статические ресурсы, которые можно пожать вообще на максималках.
Ответить | Правка | Наверх | Cообщить модератору

8. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  –1 +/–
Сообщение от Аноним (8), 24-Окт-26, 19:49 
Brotli q4 имба, заменяет gzip q3 по скорости и качеству сжатия. Там ещё чёт со словарями есть, но уже менее универсально.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

14. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  –3 +/–
Сообщение от Аноним (14), 24-Окт-26, 20:07 
ты браузер-то открой

> accept-encoding gzip, deflate, br, zstd

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

19. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  –5 +/–
Сообщение от Аноним (20), 24-Окт-26, 20:25 
Встроено сейчас в все браузеры!
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

23. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +2 +/–
Сообщение от нах. (?), 24-Окт-26, 20:29 
в браузеры много чо встроено и 90% из этого нигде не используется.
Ответить | Правка | Наверх | Cообщить модератору

74. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (20), 25-Окт-26, 00:14 
Так тебя эксплоит не спросит, если ты не отключил все эти финтифлюшки.
Ответить | Правка | Наверх | Cообщить модератору

202. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +1 +/–
Сообщение от Аноним (200), 26-Окт-26, 01:24 
> все браузеры!

Можно конкретней версию, например, FF, когда в нём сабж появился?

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

213. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (213), 26-Окт-26, 08:26 
А погуглить? FF 44, 2016 год (десять лет назад).
Ответить | Правка | Наверх | Cообщить модератору

218. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  –1 +/–
Сообщение от Аноним (200), 26-Окт-26, 12:33 
Странно, у меня FF 60 - и не знает по факту никакого бротлю. Может, есть разница между "есть в исходниках" и "собрано в бинарник"?
Ответить | Правка | Наверх | Cообщить модератору

230. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (230), 27-Окт-26, 16:05 
Ну зайдите нууу на distrosea.com, например. Там как раз сжатие brotli.
Ответить | Правка | Наверх | Cообщить модератору

232. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (8), 29-Окт-26, 12:38 
Эт не опциональная зависимость, Мань. Хотя по протухшему браузеру уже можно поставить диагноз с 99% точностью.
Ответить | Правка | К родителю #218 | Наверх | Cообщить модератору

4. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +1 +/–
Сообщение от laindono (ok), 24-Окт-26, 19:28 
Сишечные CVE марки "Каждый день".
Ответить | Правка | Наверх | Cообщить модератору

7. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (7), 24-Окт-26, 19:31 
В руки программиста попал инструмент, где надо делать самому, а он привык к полу-автовождению.
Ответить | Правка | Наверх | Cообщить модератору

12. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +6 +/–
Сообщение от Аноним (20), 24-Окт-26, 19:57 
Увы не нашлось в Google такого уровня программистов как на opennet!
Ответить | Правка | Наверх | Cообщить модератору

15. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (15), 24-Окт-26, 20:09 
а им такие и не нужны, результат в новости.
Ответить | Правка | Наверх | Cообщить модератору

34. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (34), 24-Окт-26, 20:35 
Просто на всех "советских программистов с профильным техническим образованием" (как тут любят дуть щеки) не хватит кора дуб даже в гугле.
Ответить | Правка | К родителю #12 | Наверх | Cообщить модератору

35. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (34), 24-Окт-26, 20:36 
P.S. Ведь как они утверждают, настоящий программист должен сидеть на старом железе и превозмогать, а современное оборудование годится только для игрушек. (с)
Ответить | Правка | Наверх | Cообщить модератору

39. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (39), 24-Окт-26, 20:55 
А разве нет?
Чтобы писать код i9 9999900kfc не нужен, голова и руки нужны.
Это чтобы компилить он нужен, но зачем все яйца держать в одной корзине?
Ответить | Правка | Наверх | Cообщить модератору

67. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +1 +/–
Сообщение от cnjzxtr (?), 24-Окт-26, 23:13 
тесты ты собрался гонять вечность?
Ответить | Правка | Наверх | Cообщить модератору

149. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Пыщь (?), 25-Окт-26, 09:22 
Ну как, помогли тесты с этим брокколи? А ведь они явно там были. Тесты это такая справочка для вида, мол вот тут у нас трубы не протекают, и окна шикарно блестят пимпочками, которые не отваливаются от косого ветра. Пофиг что фундамент косой (матмодели программ в ширнармассах отсутствуют), и на него тестов/сравочек навешаем, а что потом обнаружится нетестированная трещинка - так заплаткой/patch исправим и костыльком подопрём и справку прицепим, что пломба прикрыла трещинку (может соорудив ещё парочку новых нетестированных).
Тесты этих нетленок, разрабатываемых не в одно лицо, реально на лохалкости гоняете? Фигассе.. и эти люди называют других луддитами.
Ответить | Правка | Наверх | Cообщить модератору

150. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +1 +/–
Сообщение от Аноним (150), 25-Окт-26, 10:31 
>тесты ты собрался гонять вечность?

Тесты тоже ты писал?

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

70. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +1 +/–
Сообщение от Аноним (70), 24-Окт-26, 23:21 
Да вообще компьютер не нужен. Как на информатике — тетрадка и ручка.
Ответить | Правка | К родителю #39 | Наверх | Cообщить модератору

13. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (13), 24-Окт-26, 20:06 
> В руки программиста попал инструмент, где надо делать самому

Ну он и сделал - очередную CVE.

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

151. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (150), 25-Окт-26, 10:34 
>Ну он и сделал - очередную CVE.

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

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

147. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (147), 25-Окт-26, 07:49 
>а он привык к полу-автовождению

прикол в том, что помимо памяти полно ресурсов и в каких-то случаях их гц закрывает, а в каких-то уже нет, такой же закат солнца вручную, причем хуже, потому что arc на него не напялить

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

9. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +3 +/–
Сообщение от Аноним (9), 24-Окт-26, 19:53 
В проекте, где почти весь код на typescript.
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

18. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  –2 +/–
Сообщение от Аноним (18), 24-Окт-26, 20:20 
> В проекте, где почти весь код на typescript

... что прекрасно показывает, что одного файла на dыpяxе достаточно чтобы испортить весь проект на любом языке)))
Спасибо что обратили на это внимание!

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

153. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (153), 25-Окт-26, 12:49 
В списке из новости полно проектов на чистой сишечке. Нехорошо получилось...
Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

16. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  –1 +/–
Сообщение от Инопланетянин (?), 24-Окт-26, 20:11 
Ты лучше скажи, дописал убийцу Unity или нет?
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

43. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (43), 24-Окт-26, 21:27 
Это ж ты тогда в одном треде про раст vs Cи показал как надо и заюзал знаковый int для длины . Может и здесь ты навайбкодил в brotli?
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

54. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +1 +/–
Сообщение от Инопланетянин (?), 24-Окт-26, 22:24 
> и заюзал знаковый int для длины

Я тебя разочарую https://google.github.io/styleguide/cppguide.html#Integer_Types

> On Unsigned Integers

Unsigned integers are good for representing bitfields and modular arithmetic. Because of historical accident, the C++ standard also uses unsigned integers to represent the size of containers - many members of the standards body believe this to be a mistake, but it is effectively impossible to fix at this point. The fact that unsigned arithmetic doesn't model the behavior of a simple integer, but is instead defined by the standard to model modular arithmetic (wrapping around on overflow/underflow), means that a significant class of bugs cannot be diagnosed by the compiler. In other cases, the defined behavior impedes optimization.

That said, mixing signedness of integer types is responsible for an equally large class of problems. The best advice we can provide: try to use iterators and containers rather than pointers and sizes, try not to mix signedness, and try to avoid unsigned types (except for representing bitfields or modular arithmetic). Do not use an unsigned type merely to assert that a variable is non-negative.

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

66. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (-), 24-Окт-26, 23:02 
Сделали  же из g и палок...

Как же в этом плане приятна Ada...

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

223. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от _ (??), 26-Окт-26, 19:52 
Ариану-5 расскажи :)
Он попробовал и помер :-)
Ответить | Правка | Наверх | Cообщить модератору

84. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Ivan_83 (ok), 25-Окт-26, 01:15 
Рекомендации гугла / хотелки от своих рабов - не истина в последней инстанции.
И хотя там многое правильно написано, я предпочитаю size_t/ssize_t для случаев когда число может быть связано с размером адресуемым в памяти.
int хорош там где как то пофик, типа кода ошибки: 0 нет ошибки, а если не 0 - то чото делаем, плюс там же всегда понятен диапазон значений.

Опять же рекомендации там про кресты, на С оно не всегда 1-в-1 перекладывается не теряя смысл.

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

109. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Инопланетянин (?), 25-Окт-26, 02:13 
> Рекомендации гугла / хотелки от своих рабов - не истина в последней
> инстанции.

В core guildelines такого же примерно мнения https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines...

Проблема в дурацком поведении singined int при переполнеии, а именно УБ. В другой ветке спорил с этим с упырем одним по этому поводу.

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

134. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Ivan_83 (ok), 25-Окт-26, 02:53 
По приведённой вами ссылке крестовое месиво и проблема там не в типах а в архитектуре/дизайне.

vec.size() корень этой проблемы.
1. В цикле вызывается ненужная функция, которая чёрти пойми что делает. Как минимум это роняет производительность.
2. Не очевидно какого типа возвращаемое значение. Всмысле надо куда то лезть и смотреть.
Даже если взять мой любимый size_t нет гарантий что его хватит и там на самом деле не off_t на 128+бит.
3. Типа правильный вариант с gsl::index работать может в большинстве случаев только с деградацией производительности: для цикла где идут с уменьшением индекса и могут свалится в отрицательные значения gsl::index должен быть минимум на 1 бит для знака больше. Если vec.size() это size_t (что было бы логично) будет означать что gsl::index будет иметь отдельный код для обработки знака либо это будет 127 бит (для AMD64). В обоих вариантах приятного мало.

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

140. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  –6 +/–
Сообщение от Инопланетянин (?), 25-Окт-26, 03:11 
> 1. В цикле вызывается ненужная функция, которая чёрти пойми что делает. Как минимум это роняет производительность.

С -O2 вызова не будет.

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

143. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Ivan_83 (ok), 25-Окт-26, 03:26 
За конкретно vec.size() я не скажу.

Но я уже правил тормозной крестовый код с именно таким патерном, только там не просто геттер для внутреннего элемента структуры был, а прорва всякого вызывалась, и скорее всего он даже с -O3 у меня собран был.

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

198. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Инопланетянин (?), 26-Окт-26, 00:39 
> Так безапелляционно заявляешь, ужс. Нет, никакой флаг не гарантирует сам по себе,
> что "вызова не будет", только откуда ж тебе знать. Очень много
> звезд должно сойтись в теле цикла, чтоб не было вызова

Каких звезд? Он почти всегда, если ты вектор внутри не трогаешь будет оптимизировать и не вызывать размер в сравнении. Смысла руками явно выделять отдельно size в переменную ровно 0.

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

110. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (13), 25-Окт-26, 02:14 
> Рекомендации гугла / хотелки от своих рабов - не истина в последней инстанции.

То ли дело рекомендации опеннетных ванек.

> я предпочитаю size_t/ssize_t

Жаль, что ты не пишешь софт, который юзают миллиарды людей.

> Опять же рекомендации там про кресты

Ну да, signed/unsigned в крестах ведь совсем не такой, как в С.

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

136. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Ivan_83 (ok), 25-Окт-26, 02:56 
Даже я точно не знаю где работает тот код который я написал, он же часто под BSD2 лицухой. И по работе я тоже не помню на пересчёт всех организации которые клиенты и тем более не знаю сколько там народу ходит через продукт.
Вы можете и дальше думать что я пишу только в фантазиях для себя любимого :)
Ответить | Правка | Наверх | Cообщить модератору

167. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Смузихеб забывший пароль (?), 25-Окт-26, 14:46 
гугол-не гугол, но( из текста новости )
> вместо кода ошибки возвращала только значения true и false
> что не позволяло вызывающему коду отличить повреждение потока
> от состояния, требующего передачи в функцию дополнительных данных

Это жеж жесть. И числовые и булевы в одну кучу при совершенно разной дальнейшей логике обработки

Итог - "внезапно" хз-какое-поведение вместо ожидаемого

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

112. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Инопланетянин (?), 25-Окт-26, 02:16 
> предпочитаю size_t/ssize_t для случаев когда
> число может быть связано с размером адресуемым в памяти.

У них также.


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

122. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  –1 +/–
Сообщение от Норм (?), 25-Окт-26, 02:31 
Капец вот это шиза шиза бред бред.
Цпп это клиника.
Ответить | Правка | К родителю #54 | Наверх | Cообщить модератору

105. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от laindono (ok), 25-Окт-26, 02:09 
Полагаю это было в том контексте, где конкретный тип не важен. Если вообще было. Ну и я не кодил на сишечке лет 10.

> и здесь ты навайбкодил

Я не пользуюсь аишечкой для написания кода. Мне просто не интересно это.

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

168. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (43), 25-Окт-26, 14:55 
> Полагаю это было в том контексте, где конкретный тип не важен.

Неправильно полагаешь, он там был важен.

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

176. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  –4 +/–
Сообщение от laindono (ok), 25-Окт-26, 18:17 
Может быть. Понятия не имею. Не помню/не знаю, о чём речь.

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

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

58. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +2 +/–
Сообщение от Bottle (?), 24-Окт-26, 22:34 
Есть два типа программ:
1. В которых находят уязвимости.
2. Которыми никто не пользуется.
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

65. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Инопланетянин (?), 24-Окт-26, 22:50 
Ну все что смогли это сесть на шею и свесить ножки https://github.com/dropbox/rust-brotli
Ответить | Правка | Наверх | Cообщить модератору

146. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от КО (?), 25-Окт-26, 06:59 
Ну вот и ответ всем этим ИИ-цунами уязвимостям, просто перепишите на Rust
Ответить | Правка | Наверх | Cообщить модератору

234. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (234), 05-Ноя-26, 19:02 
А потом половина интернета не работает.
Ответить | Правка | Наверх | Cообщить модератору

10. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +2 +/–
Сообщение от Аноним (10), 24-Окт-26, 19:55 
а говорили xz плохой...
Ответить | Правка | Наверх | Cообщить модератору

33. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (34), 24-Окт-26, 20:34 
> а говорили xz плохой

Кто говорил?

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

215. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от опеншлёпивпродакшн (?), 26-Окт-26, 10:07 
Тем, что не ищут уязвимости?
Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

11. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  –1 +/–
Сообщение от Аноним (7), 24-Окт-26, 19:55 
>Среди затрагиваемых уязвимостью проектов:

Может в "академии" что-то ни то?

>декодировщика формата сжатия данных Brotli

К чему такое обилие "доброхотов" на одну функцию сжатия?

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

17. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  –8 +/–
Сообщение от Аноним (18), 24-Окт-26, 20:16 
Уязвимость из-за Out-of-bounds write.
Дыpeнь в файле c/dec/decode.c [1]
И сразу же под ударом десяток проектов, которым хватило глупости использовать эталонную библиотеку на С(ve)-язычке.
Никогда такого не было и вот опять!

1) github.com/google/brotli/commit/da9806362874b9bd4b552a3af360b5d6347beb12)

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

68. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  –1 +/–
Сообщение от Инопланетянин (?), 24-Окт-26, 23:16 
> И сразу же под ударом десяток проектов, которым хватило глупости использовать эталонную
> библиотеку на С(ve)-язычке.
> Среди затрагиваемых уязвимостью проектов: Node.js, Bun, Envoy, Istio, web-браузеры, прокси-серверы, HTTP-клиенты, HTTP-серверы, архиваторы, прокси-серверы, UEFI-прошивки, просмотрщики JPEG XL, декодирующие контент библиотеки для Python, Ruby, Java, PHP и .NET и связанные с ними зависимости.

Получается один ты умный? Да?

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

25. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +1 +/–
Сообщение от нах. (?), 24-Окт-26, 20:30 
очередная надо понимать уязвимость эксплуатационная возможность которой только в теории в тепличных условиях
Ответить | Правка | Наверх | Cообщить модератору

75. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (20), 25-Окт-26, 00:18 
Прям как на PHP! Патчить не надо, это ж нужно какую-то бесконечно хитрую и упорную машину для этого использовать, а такой пока не придумали
Ответить | Правка | Наверх | Cообщить модератору

26. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Гость (??), 24-Окт-26, 20:30 
надо было на C++ с умными указателями и контейнерами писать.
Ответить | Правка | Наверх | Cообщить модератору

31. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от нах. (?), 24-Окт-26, 20:33 
> надо было на C++ с умными указателями и контейнерами писать

раз надо, то пиши

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

60. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +1 +/–
Сообщение от Инопланетянин (?), 24-Окт-26, 22:37 
Да, странно. Не похоже на гугль.
Ответить | Правка | К родителю #26 | Наверх | Cообщить модератору

77. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (77), 25-Окт-26, 00:29 
смешишь, инопланетянка
Ответить | Правка | Наверх | Cообщить модератору

29. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Твайлайт Спаркл 2 (?), 24-Окт-26, 20:32 
Веб-сервера вряд ли уязвимы, они только сжимают данные, но не разжимают. Как минимум модуль ngx_brotli, хотя всё равно стоит его перекомпилировать…
Ответить | Правка | Наверх | Cообщить модератору

36. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Гость (??), 24-Окт-26, 20:37 
все уже перекомпилировали на прошлой неделе с новыми версиями nginx
Ответить | Правка | Наверх | Cообщить модератору

48. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (48), 24-Окт-26, 21:46 
оно не идет в стандартной поставке
Ответить | Правка | Наверх | Cообщить модератору

53. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Гость (??), 24-Окт-26, 22:17 
не важно, при каждом обновлении nginx, модуль нужно собирать снова, а исправления brotli появились ещё раньше
Ответить | Правка | Наверх | Cообщить модератору

100. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от penetrator (?), 25-Окт-26, 01:53 
на сервере может крутиться клиент который интегрируется со сторонним API

очень часто явление, буквально в каждом проекте есть calling внешнего сервиса

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

37. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  –2 +/–
Сообщение от iZENemail (ok), 24-Окт-26, 20:44 
Детские проблемы Си.
Ответить | Правка | Наверх | Cообщить модератору

45. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (45), 24-Окт-26, 21:33 
> Детские

Всего 50+ лет детине, а проблемы так и остались неисправленные.
Это уже маразм, а не детские проблемы!

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

49. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (15), 24-Окт-26, 21:47 
> Это уже маразм

маразм - требовать исправления С, там нечего исправлять, вся ваша боль связана с архитектурой железа!

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

235. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (234), 05-Ноя-26, 19:05 
Ага, оказывается виноват язык, а не программист-недоучка.
Ответить | Правка | К родителю #37 | Наверх | Cообщить модератору

38. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (38), 24-Окт-26, 20:53 
По аналогии с комментами под новостью про уязвимость в пхп стало быть надо хоронить все браузеры и большУю часть серверного ПО. Короче закапываем интернет и по-старинке 5 километров в гору зимой через весь город
Ответить | Правка | Наверх | Cообщить модератору

46. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (46), 24-Окт-26, 21:37 
Посмотрел я этот проблемный файл https://github.com/google/brotli/blob/master/c/dec/decode.c

Ничего сильно необычного нет. Правда, несколько напрягяют выражения

*repeat += repeat_delta + 3U;

++h->code_length_histo[v];

но понять можно, главное чтобы компилятор понял так же как вы.
Стиль тоже, немного странно, что всё делается в switch с обилием fall through, выходы return прямо из case.

В функции ProcessCommandsInternal насчитал 29 goto.

А так - код как код, выделяют кольцевые буферы для данных.

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

47. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  –1 +/–
Сообщение от Аноним (43), 24-Окт-26, 21:43 
> выходы return прямо из case.

и? что плохого то?

> В функции ProcessCommandsInternal насчитал 29 goto.

Очередной покусанный Дейкстрой борец с архитектурой процессоров?

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

50. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (15), 24-Окт-26, 21:49 
> Очередной покусанный Дейкстрой борец с архитектурой процессоров?

железные дровосеки тоже не очень любят бранчи со всякими бранчпредикшенами :)

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

55. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Инопланетянин (?), 24-Окт-26, 22:30 
Как goto связан с бранч предикшеном?
Ответить | Правка | Наверх | Cообщить модератору

72. Скрыто модератором  –1 +/–
Сообщение от Аноним (15), 24-Окт-26, 23:59 
Ответить | Правка | Наверх | Cообщить модератору

88. Скрыто модератором  +/–
Сообщение от Инопланетянин (?), 25-Окт-26, 01:23 
Ответить | Правка | Наверх | Cообщить модератору

111. Скрыто модератором  –1 +/–
Сообщение от Аноним (15), 25-Окт-26, 02:15 
Ответить | Правка | Наверх | Cообщить модератору

76. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (77), 25-Окт-26, 00:26 
э-э ... вобщем, вперёд более вероятно чем назад, а если goto назад, то ... вот эта штука и ломается
Ответить | Правка | К родителю #55 | Наверх | Cообщить модератору

89. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  –1 +/–
Сообщение от Инопланетянин (?), 25-Окт-26, 01:25 
> э-э ... вобщем, вперёд более вероятно чем назад, а если goto назад,
> то ... вот эта штука и ломается

Зачем ему угадывать в конвеере будет прыжок или нет, если он безусловный и всегда будет?

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

113. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  –1 +/–
Сообщение от Аноним (15), 25-Окт-26, 02:17 
> Зачем ему угадывать в конвеере будет прыжок или нет, если он безусловный
> и всегда будет?

goto бранч или не бранч?

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

224. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от _ (??), 26-Окт-26, 20:03 
А return ? ;-)

Не торопись отвечать, ___подумай___ хоть это для тебя и больно.
Будет от CPU пайплайны шатать или нет? :-)

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

165. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от наме (?), 25-Окт-26, 14:22 
Так всё равно же весь свич-кейс превратится в jumptable, где выход из функции и выход из функции в свиче будут в конце
Ответить | Правка | К родителю #50 | Наверх | Cообщить модератору

51. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +2 +/–
Сообщение от Аноним (46), 24-Окт-26, 21:54 
Как, интересно, отлаживали этот код, там вызовов assert нет. Ну там применяется макрос для отладочного вывода ( BROTLI_DUMP), но это ведь не assert

>> выходы return прямо из case.
>и? что плохого то?

А вот упомянутый вами Дейкстра говорил, у процедуры должен быть один вход и один выход. Почему он так говорил?

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

52. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +2 +/–
Сообщение от Аноним (43), 24-Окт-26, 22:04 
Про единый вход в процедуру - да, согласен. А как их может быть больше одного, если функция в памяти это просто набор подряд идущих инструкций CPU с прологом, кодом и эпилогом и если ты её вызываешь, то просто переводишь регистр StackPointer на адрес функции в памяти? Или он имел ввиду про всякие longjump? Ну это как бы не совсем то - изначально то ты все равно в функцию попадаешь через пролог.

А по поводу единого выхода из процедуры - ну хз почему он так сказал. Наверно потому что он любил лапшу из if/else. А может потому что он был алгоритмистом и ничего сложнее ОС 1960х гг не писал.

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

120. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (15), 25-Окт-26, 02:30 
> Ну это как бы не совсем то - изначально то ты все равно в функцию попадаешь через пролог.

функция это абстракция, для ЦПУ программа это плоский набор инструкций.


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

152. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от RM (ok), 25-Окт-26, 12:39 
так. значит вход - пролог функции и поэтому должен быть один.
А return - это ж эпилог, но его может быть много.
не сходиться аргументация.
может потому что:

> и если ты её вызываешь, то просто переводишь регистр StackPointer на адрес функции в памяти

когда вызываешь функцию, её адрес пересылается в Program Counter. А адрес возврата - адрес следующей команды за вызовом подпрограммы - засовывается в стек.
Обычно адрес возврата это как раз сторое значение PC, уже увеличенное декодированием команды вызова.
т.е. call = push pc + jump
Stack Pointer же при этом изменяется (обычно уменьшается) на размер помещенного в него адреса возврата.
А дальше зависит уже от соглашения о вызове.
А если сделать как написано, т е. переслать адрес начала функции в указатель стека (Stack Pointer), то или код лежащий в памяти ниже функции затрется при манипуляциях со стеком, или прога упадет если W^X.
Чо та перепуталось у автора в голове вообщем, со Stack Frames наверное, при написании комента.

Что делает его пренебрежительные высказывания в сторону дида Дейкстры - малоценными и вызывающими недоумение.

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

161. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (15), 25-Окт-26, 14:08 
> когда вызываешь функцию

когда такое описываешь, явно указывай архитектуру о которой говоришь.

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

166. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от RM (ok), 25-Окт-26, 14:30 
есть хоть одна архитектура из, ну пусть поддеживаемых например netbsd как одной самой портабельных ОС, где не так как я написал?
Не, может на каких брусах и мультиклетах не так, не знаю.
Ответить | Правка | Наверх | Cообщить модератору

174. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (15), 25-Окт-26, 16:26 
причем тут ОС, ты описываешь архитектуру железа, а точнее модель программирования.


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

56. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +1 +/–
Сообщение от Инопланетянин (?), 24-Окт-26, 22:32 
> Дейкстра говорил, у процедуры должен быть один вход и один выход. Почему он так говорил?

Он в каком году жил? Поищи код тех времен. Это была типичная лапша из goto. Тут же в одной функции для перехода между состояниями.

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

83. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +1 +/–
Сообщение от Ivan_83 (ok), 25-Окт-26, 01:09 
Скорее всего тесты для каждой функции, в лучшем случае, в худьшем тестовый набор который написали руками.

И assert отладке не очень помогает. Он как то работает только у разраба на машине...
https://github.com/rozhuk-im/liblcb/blob/master/include/math...
Вот такие макросы намного удобнее, они тебе сразу вываливают бэктрейс до нужного места не роняя прогу - те можно не только под отладчиком найти проблему.

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

90. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Инопланетянин (?), 25-Окт-26, 01:26 
> Скорее всего тесты для каждой функции, в лучшем случае, в худьшем тестовый
> набор который написали руками.
> И assert отладке не очень помогает. Он как то работает только у
> разраба на машине...
> https://github.com/rozhuk-im/liblcb/blob/master/include/math...
> Вот такие макросы намного удобнее, они тебе сразу вываливают бэктрейс до нужного
> места не роняя прогу - те можно не только под отладчиком
> найти проблему.

И где у тебя там бэктрейс? Это тупо печать source_location

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

107. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  –1 +/–
Сообщение от Ivan_83 (ok), 25-Окт-26, 02:11 
Чтобы понять где там бэктрейс - надо посмотреть как устроен остальной код.
Но даже если бы бэктрейса не возникало, знать место ошибки без падения программы сильно приятнее.
Ответить | Правка | Наверх | Cообщить модератору

114. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (13), 25-Окт-26, 02:18 
>> И где у тебя там бэктрейс? Это тупо печать source_location
> Чтобы понять где там бэктрейс - надо посмотреть как устроен остальной код.

Иди почитай, что такое бэктрейс - и больше не ляпай умных слов, смысла которых не понимаешь.

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

121. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  –1 +/–
Сообщение от Ivan_83 (ok), 25-Окт-26, 02:31 
Да, расскажи мне как работает мой код. :)
Ответить | Правка | Наверх | Cообщить модератору

129. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  –1 +/–
Сообщение от Аноним (13), 25-Окт-26, 02:43 
Мне плевать на твой код. Ты правда не понял, что я тебе написал?
Ответить | Правка | Наверх | Cообщить модератору

138. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Ivan_83 (ok), 25-Окт-26, 02:59 
Конечно понял, у вас цель только оскорбить.
Код вы не смотрели и не поняли, иначе не стали бы писать что бэктрейса там нет.
Ответить | Правка | Наверх | Cообщить модератору

118. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +1 +/–
Сообщение от Аноним (15), 25-Окт-26, 02:27 
> А вот упомянутый вами Дейкстра говорил, у процедуры должен быть один вход
> и один выход. Почему он так говорил?

в паскале у процедур нет выхода :)

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

82. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +1 +/–
Сообщение от Ivan_83 (ok), 25-Окт-26, 01:04 
Префиксный инкремент - да, на С вне выражения смотрится тупо, артефакт от крестовика-оптимизатора.

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

goto ок, если они на 1-2-3 метки, больше уже наверное надо бы как то по другому попробовать написать.


if (addon->block_bits != 255u) return;
while (addon->chunk_offsets[index + 1u] < cursor) index++;
меня такие однострочники сильнее напрягают.
Притом там же рядом:
          if (context_index + reps > context_map_size) {
            return
                BROTLI_FAILURE(BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT);
          }
не пожалели ни строчек отсыпать ни скобочек.

Ещё там очень длинные слова в названиях везде, это и смотрится и читается плохо.
Так же CamelCase названия функций: InitializeCompoundDictionaryCopy и типов и переменных.

За BROTLI_FALSE - я бы точно бил молотком по голове.

    if (!alloc_func && !free_func) {
      free(state);
    } else if (alloc_func && free_func) {
      free_func(opaque, state);
    }
За такое - по рукам: раз взялся такое сделать - сделай один раз инит alloc_func и free_func своими врапперами malloc/free и не пиши дальше никаких условий.

Можно предположить по стилю что писал разраб который пишет в основном на крестах и под венду, а ещё вероятно английский не его родной язык. Учитывая обилие int он ещё и не очень опытный.
И да, столько int вместо size_t/ssize_t - вероятно мы ещё увидим новости про эту реализацию :)

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

91. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +2 +/–
Сообщение от Инопланетянин (?), 25-Окт-26, 01:31 
Ревью на опеннете. Спишите видеть.

зы Почему ты постоянно кого-то хочешь ударить?

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

95. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Ivan_83 (ok), 25-Окт-26, 01:42 
Потому что такой код неизбежно потратит чьё то время и деньги, а раз автор до сих пор не усвоил что так делать не стоит, то ему требуется другой вид стимуляции для улучшения обучения :)
Ответить | Правка | Наверх | Cообщить модератору

97. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Инопланетянин (?), 25-Окт-26, 01:47 
> Потому что такой код неизбежно потратит чьё то время и деньги, а
> раз автор до сих пор не усвоил что так делать не
> стоит, то ему требуется другой вид стимуляции для улучшения обучения :)

Завести issue, сделать pr? Да ну, бред какой-то.

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

102. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Ivan_83 (ok), 25-Окт-26, 01:57 
Учитывая объём кода и предполагаемый объём переделок - проще завести сразу отдельный репозиторий и сделать реализацию алгоритма с нуля, по мотивам оригинала.

Я уже приходил с PR на 1-10-50-80% объёма кода проекта и часто это заканчивалось просьбой или отвалить или принести в виде серии однострочных понятных патчей.
И с другой стороны я тоже был если что, и тоже не просто такое отревьювить и принять.

Конкретно в этом проекте я лично не заинтересован и туда ничего не понесу.

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

128. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Норм (?), 25-Окт-26, 02:42 
Потому что в 2026 живет.
Ответить | Правка | К родителю #91 | Наверх | Cообщить модератору

93. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Инопланетянин (?), 25-Окт-26, 01:39 
> Ещё там очень длинные слова в названиях везде, это и смотрится и
> читается плохо.

Держите сишника-любителя уплс названий. Чтся плх, а вт strcpy, strncpy, strcspn и др чтся грзд лчш.

> За BROTLI_FALSE - я бы точно бил молотком по голове.

А может доку сначала бы открыл https://brotli.org/types.html

> Можно предположить по стилю что писал разраб который пишет в основном на
> крестах и под венду, а ещё вероятно английский не его родной
> язык. Учитывая обилие int он ещё и не очень опытный.
> И да, столько int вместо size_t/ssize_t - вероятно мы ещё увидим новости
> про эту реализацию :)

В каких местах тебя int не устроил?

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

101. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  –2 +/–
Сообщение от Ivan_83 (ok), 25-Окт-26, 01:53 
Любитель у нас вы и автор того бротли кода.

Откройте фрю, линукс и просто POSIX стандарт и найдите там длинные слова.

Я лично прошёл через венду с CreateFile(10 аргументов) до POSIX open(3 аргумента) и обратно не хочу.
Я точно так же писал в camel case потому что на венде так принято. И читать даже свой код с вот этими длинными и не выразительными словами не очень удобно, не говоря об форматировании под супер широкие мониторы.
Если вы думаете что давать короткие и понятные названия глупо и просто - уверяю, всё с точностью до наоборот, и каждый дурак может написать: int iThis_is_Index_in_the_First_Array_That_Contain_User_Input = 0;


> А может доку сначала бы открыл https://brotli.org/types.html

#define     BROTLI_BOOL   int
    A portable bool replacement.

Если вы не понимаете почему это плохо - это ваша проблема.
Как минимум есть stdbool.h.
Как максимум это слишком длинно написано.
Если написанное в книге/доке для вас истина в последней инстанции - вы ещё не позврослели до нахождения ошибок в чужих книгах и написания своих.


> В каких местах тебя int не устроил?

Почти во всех функциях где автор его использовал то как индекс, то как оффсет то как что то ещё.

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

106. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Инопланетянин (?), 25-Окт-26, 02:09 
> Любитель у нас вы и автор того бротли кода.
> Откройте фрю, линукс и просто POSIX стандарт и найдите там длинные слова.

Интерфейс pthreads. А значешь почему? Потому что его не диды делали, которые букву e на конце creat экономят.

> Я лично прошёл через венду с CreateFile(10 аргументов) до POSIX open(3 аргумента)
> и обратно не хочу.
> Я точно так же писал в camel case потому что на венде
> так принято. И читать даже свой код с вот этими длинными
> и не выразительными словами не очень удобно, не говоря об форматировании
> под супер широкие мониторы.
> Если вы думаете что давать короткие и понятные названия глупо и просто
> - уверяю, всё с точностью до наоборот, и каждый дурак может
> написать: int iThis_is_Index_in_the_First_Array_That_Contain_User_Input = 0;

Длина от контекста зависит. Всякие strncpy это удобно по твоему?

>> А может доку сначала бы открыл https://brotli.org/types.html
> #define  BROTLI_BOOL   int
>   A portable bool replacement.
> Если вы не понимаете почему это плохо - это ваша проблема.
> Как минимум есть stdbool.h.

А если они не могут использовать stdbool?

>> В каких местах тебя int не устроил?
> Почти во всех функциях где автор его использовал то как индекс, то
> как оффсет то как что то ещё.

Глянул я в decode.c - size_t там тоже есть. Если int значит он уверен, что хватит его.

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

119. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Ivan_83 (ok), 25-Окт-26, 02:30 
Всякие memcpy() прекрасно читаются и пишутся, в отличии от CopyMemory().
Если вы до сих пор не поняли, то unix way это писать код так чтобы он читался как книга, притом со стандартного терминала, шириной 80-сколько то там символов.
И именно имея ввиду это ограничение авторы напрягали мозги для того чтобы уместить тот же самый смысл в более короткие названия и выражения.

Вашим путём я тоже ходил, даже самую кринжовую его часть: длинные названия + выход только по return в конце функции.
Итогом был код который не влезал даже 1080p монитор по ширине и имел фиговую читабельность.
Когда я увидел что есть другой путь и он не маргинален (включая goto которым засирали мозги) то я ушёл туда, не потому что там проще, а потому что это следующая ступень.


> А если они не могут использовать stdbool?

Не похоже чтобы это было проблемой для либы.
Для старых компеляторов можно было написать свой stdbool точно так же поверх int, а не придумывать свой 100500 никому ненужный тип bool.
Тем паче что писать там точно так же 3 строчки define.

> Глянул я в decode.c - size_t там тоже есть. Если int значит он уверен, что хватит его.

1. Уверенность - никого не интересует.
2. Проще юзать size_t и не приходить в сознание по таким мелочам.
3. Вы смотрели без blame, у меня есть подозрения что size_t добавлял местами другой человек позже.

И история вопроса тоже имеет значение.
Пока сидели на х32 подразумевалось что int (и DWORD) почти всегда и везде = ssize_t, те можно использовать для индексов/размеров/оффсетов.
Потом пришёл AMD64 и после портирования многое сломалось, тогда size_t и добавили как штуку которая гарантированно подходит.
Я тоже проходил через портирование своего кода и наелся этого всего настолько чтобы расхотеть видеть int для любого кода который не возвражает через него ошибку или в явном виде не считает до числа заведомо меньшего чем uint16_t.
И даже для for (i = 0; i < 10; i ++) я предпочту size_t потому что он гарантированно будет равен размеру регистра и не случится деградация производительности. Но на чужой код с int я закрою глаза и не буду душнить.

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

127. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (13), 25-Окт-26, 02:40 
> unix way это писать код так чтобы он читался как книга

Ты серьезно? Вот эта вся дичь с cp mv tar xvcf pwd - это "как книга"? Да это буквально эталонный пример того, как делать не нужно.

> шириной 80-сколько то там символов.

Это все еще стандартная ширина для большинства современного кода, которая вообще не требует всякой юниксовой дичи с именами в 2-5 символов. Если ты, гений, не пишешь все в одну строку.

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

135. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Норм (?), 25-Окт-26, 02:53 
Вам cp и mv не очевидны без словаря? Я понимаю там тар - кваквашка. Но cp и mv?

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

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

162. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  –2 +/–
Сообщение от Аноним (15), 25-Окт-26, 14:12 
> А ведь это не только читать, а еще и писать нужно. Клавиатурой, а не тем чем вы выписываете всякое.

до вас прогресс с автокомплитом еще не дошел? Команды надо выбирать (из списка на исполнение) либо отдавать (голосовой ввод), а то, что вы печатаете, да еще и проповедуете юникс вей (с**ка, 1000500 аргументов коммандной строки, за место интерактивности), что на это сказать? только, - продолжайте жевать!!!

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

139. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Ivan_83 (ok), 25-Окт-26, 03:07 
cp и mv и прочие консольные классические утилиты - вполне.
Флаги для tar - соглашусь, но там есть и длинные опции, я обычно их использую.
Для сравнения вы почему то не приводите PowerShell, наверное потому что его используют полторы калеки по нужде его осиливших, а потолторы - потому что только у них ума хватило такое осилить.

> Это все еще стандартная ширина для большинства современного кода, которая вообще не требует всякой юниксовой дичи

Да да, и на 3-4 уровне вложенности приходится уже записывать CopyMemory() на 4 строчки.
А CreateFile() так и на первом уровне вложенности никогда в одну строку не влезал.

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

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

196. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Инопланетянин (?), 26-Окт-26, 00:28 
>[оверквотинг удален]
> Флаги для tar - соглашусь, но там есть и длинные опции, я
> обычно их использую.
> Для сравнения вы почему то не приводите PowerShell, наверное потому что его
> используют полторы калеки по нужде его осиливших, а потолторы - потому
> что только у них ума хватило такое осилить.
>> Это все еще стандартная ширина для большинства современного кода, которая вообще не требует всякой юниксовой дичи
> Да да, и на 3-4 уровне вложенности приходится уже записывать CopyMemory() на
> 4 строчки.
> А CreateFile() так и на первом уровне вложенности никогда в одну строку
> не влезал.

У тебя странные проблемы? Ты код гугла видел? 2 пробела, длина строки 80, clang-format подключи и не страдай.


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

199. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Ivan_83 (ok), 26-Окт-26, 01:02 
Мне то какое дело до кода гугла?

clang-format всё ещё не достаточно гибок в настройках тонкостей форматирования, ещё пару лет и можно будет ещё раз проверить.

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

201. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Инопланетянин (?), 26-Окт-26, 01:22 
> Мне то какое дело до кода гугла?

Ну вот они не сокращают названия до упрл, при этом кода оч. много => проблема читабельности отсутсвует.

> clang-format всё ещё не достаточно гибок в настройках тонкостей форматирования, ещё пару
> лет и можно будет ещё раз проверить.

Гораздо лучше многих других инструментов. Не вижу причина хоть как-то заморачиваться над форматированием кода на сегодняшний день, это можно полностью автоматизировать.

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

208. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Инопланетянин (?), 26-Окт-26, 02:09 
> Мне то какое дело до кода гугла?

Другой пример - это Redis. Нормально читается и не упрлс.

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

132. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Норм (?), 25-Окт-26, 02:49 
> Если int значит он уверен, что хватит его.

Ахаха! Главное верить! Вера и увереность у кодера есть, и это главное.

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

209. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Инопланетянин (?), 26-Окт-26, 02:10 
>> Если int значит он уверен, что хватит его.
> Ахаха! Главное верить! Вера и увереность у кодера есть, и это главное.

Безусловно. Если ты не уверен в своем коде, то про других и говорить нечего.

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

57. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Bottle (?), 24-Окт-26, 22:32 
Наконец-то HTML-only страницы стали актуальны как никогда прежде!
Ответить | Правка | Наверх | Cообщить модератору

61. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +1 +/–
Сообщение от Аноним (44), 24-Окт-26, 22:40 
Внимательнее новость почитайте.
Ответить | Правка | Наверх | Cообщить модератору

71. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  –1 +/–
Сообщение от LaunchWiskey (ok), 24-Окт-26, 23:22 
Спокойно, сейчас найдут теоретическую уязвимость в HTTPS и европейские госсайты в целях безопасности откатятся на HTTP.
Ответить | Правка | К родителю #57 | Наверх | Cообщить модератору

87. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Ivan_83 (ok), 25-Окт-26, 01:21 
Оно никак не связано, бротли на уровне транспорта работает.
Вам надо в новость про пхп было это писать.
Ответить | Правка | К родителю #57 | Наверх | Cообщить модератору

59. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +1 +/–
Сообщение от Какойто Какойтович (?), 24-Окт-26, 22:36 
Слишком много крику для логической уязвимости, которую ещё и эксплуатировать нельзя. Волнует другое, чем занимались разработчики с февраля, когда бага была найдена, по октябрь.
Ответить | Правка | Наверх | Cообщить модератору

62. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  –1 +/–
Сообщение от Инопланетянин (?), 24-Окт-26, 22:40 
>  может использоваться для удалённого выполнения кода при атаке на проекты

Эксплойт есть или опять теория?

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

203. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (200), 26-Окт-26, 01:29 
> создан прототип эксплоита, позволивший удалённо выполнить код
Ответить | Правка | Наверх | Cообщить модератору

205. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Инопланетянин (?), 26-Окт-26, 01:37 
>> создан прототип эксплоита, позволивший удалённо выполнить код

А дальше текст специально пропускаем?

> В этот же день был создан прототип эксплоита, позволивший удалённо выполнить код в лабораторных условиях, при использовании нестандартных сборок (в стандартных сборках происходило аварийное завершение).

Как rce есть, но фиг ты его запустишь.

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

73. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +2 +/–
Сообщение от Аноним (73), 25-Окт-26, 00:07 
>Но так как выделенный буфер не был рассчитан на дополнительно прочитанные данные, они записывались в область за его пределами, в которой хранилось внутреннее состояние декодировщика.

Коротко о том, зачем нужны зависимые типы.

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

80. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  –6 +/–
Сообщение от Ivan_83 (ok), 25-Окт-26, 00:42 
Не нужны.
Считать надо было правильно и всё.
И проверять размеры того куда пишешь.
Ответить | Правка | Наверх | Cообщить модератору

94. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +3 +/–
Сообщение от Инопланетянин (?), 25-Окт-26, 01:42 
> Не нужны.
> Считать надо было правильно и всё.
> И проверять размеры того куда пишешь.

Ахаха.

Типикал сишник до уязвимости:

- Все нормально, нужно нормально писать просто. Проверки как в расте не нужны - они тормозят.

После уязвимости:

- Считать надо было правильно и всё. И проверять размеры того куда пишешь.

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

103. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  –3 +/–
Сообщение от Ivan_83 (ok), 25-Окт-26, 02:03 
Достаточно того что ваш раст не читабелен и не встраивается так же легко и понятно как С либы куда угодно, так же он предотвращает только несколько типов ошибок но далеко не все. Бонусом он привносит тяжёлый рантайм и тяжёлую и бесполезную компиляцию, и насколько я понимаю, в таких случаях он "безопасно" крашит прогу.

Потому оно ни разу не интересно, теоритизируйте дальше в уголочке.

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

116. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (13), 25-Окт-26, 02:24 
> Достаточно того что ваш раст

Наркоман что ли? Где ты упоминания Раста увидел?

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

144. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Ivan_83 (ok), 25-Окт-26, 03:29 
Хорошо, давай заменим раст скажем на вижалбейсик. От этого только читабельность изменится.
Ответить | Правка | Наверх | Cообщить модератору

117. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Инопланетянин (?), 25-Окт-26, 02:24 
> Достаточно того что ваш раст не читабелен и не встраивается так же
> легко и понятно как С либы куда угодно, так же он
> предотвращает только несколько типов ошибок но далеко не все. Бонусом он
> привносит тяжёлый рантайм

Ну вон в dropbox переписали brotli на раст (без std) с си интерефесом наружу.


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

123. Скрыто модератором  +1 +/–
Сообщение от Ivan_83 (ok), 25-Окт-26, 02:32 
Ответить | Правка | Наверх | Cообщить модератору

125. Скрыто модератором  +/–
Сообщение от Инопланетянин (?), 25-Окт-26, 02:35 
Ответить | Правка | Наверх | Cообщить модератору

131. Скрыто модератором  +/–
Сообщение от Аноним (13), 25-Окт-26, 02:48 
Ответить | Правка | Наверх | Cообщить модератору

133. Скрыто модератором  +/–
Сообщение от Инопланетянин (?), 25-Окт-26, 02:52 
Ответить | Правка | Наверх | Cообщить модератору

137. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Норм (?), 25-Окт-26, 02:57 
В расте нет рантайма.

Про читабельность вы не правы.
Хотя соглашусь что сипипи подобный синтаксис ошибка (не только раста).

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

158. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (154), 25-Окт-26, 14:04 
О даа, вот Си (и плюсы особенно) в высшей степени читабельны.
Ответить | Правка | К родителю #103 | Наверх | Cообщить модератору

182. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Ivan_83 (ok), 25-Окт-26, 21:45 
С - читабелен сам по себе, там ключевых слов совсем мало.

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

Мне как то приносили аналог atoi() на С, так вот трудно было понять как он работает у автора :)

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

214. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (213), 26-Окт-26, 08:31 
> С - читабелен сам по себе, там ключевых слов совсем мало.

Программа не из одних ключевых слов состоит.
В сишке как начнётся магия с указателями (а она начнётся), то он становится похож на Brainfuck.

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

221. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (221), 26-Окт-26, 15:26 
Поэтому программистов сызмальства надо учить хорошему офрмлению кода.
b*****ck-код можно написать на любом языке, если постараться.
Ответить | Правка | Наверх | Cообщить модератору

169. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (169), 25-Окт-26, 14:55 
>Типикал сишник до уязвимости:
>- Все нормально, нужно нормально писать просто. Проверки как в расте не нужны - они тормозят.
>После уязвимости:
>- Считать надо было правильно и всё. И проверять размеры того куда пишешь.

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

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

177. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Ivan_83 (ok), 25-Окт-26, 18:36 
Бывает error prone desing, увы.
Ответить | Правка | Наверх | Cообщить модератору

185. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Инопланетянин (?), 25-Окт-26, 22:17 
> Бывает error prone desing, увы.

Как бы ты сделал?

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

187. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Ivan_83 (ok), 25-Окт-26, 23:20 
Можешь посмотреть мой гитхуб чтобы понять как бы примерно я сделал.

Конкретнее я не отвечу потому что это означает что мне надо разобратся в этом, а это наверное 80% от "сделать", чего я определённо не собирался :)

В целом адекватный дизайн/архитектура включает:
- редкое выделение/освобождения памяти, в основном только при создании и уничтожении "объекта", и при этом сами объекты долгоживущие
- приоритет на переменных на стёке внутри функции, если размер не большой - опять же чтобы меньше дёргать аллокатор
- передача размера области памяти вместе с указателем и проверка границ перед каждый обращением к этой области
- возвращение кода ошибки практически каждой функцией, кроме разве что деструкторов
- разумный попил на модули, каждый модуль содержит 1-несколько "объектов"
- функции в стиле фильтров: максимально рано выходим в случае чего

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

220. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (221), 26-Окт-26, 15:23 
>- передача размера области памяти вместе с указателем и проверка границ перед каждый обращением к этой области

В данной программе (декодировщик Бротли), приоритет - скорость работы, поэтому в нём нет проверок. А иначе как бы сделали быстрее чем gzip?

>- возвращение кода ошибки практически каждой функцией, кроме разве что деструкторов

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

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

98. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Сисишник (?), 25-Окт-26, 01:48 
У нейронок ограниченное внимание, такие ошибки неизбежно будут возникать, если пытаться вручную память выделять и чистить

Я про мясные очевидно

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

130. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (13), 25-Окт-26, 02:47 
> Считать
> проверять размеры

За более чем 50 лет сишники не научились ни тому, ни другому. Так что да, зависимые типы нужны.

> Считать надо было правильно и всё.

Классическое "чтобы не было ошибок - не делайте ошибки". Мля, как же никто до тебя не додумался до такого эффективного решения?

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

141. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Ivan_83 (ok), 25-Окт-26, 03:18 
Вы спорите сами с собой.

Я лично стараюсь везде где можно+имеет смысл добавлять проверки размера.
Я передаю вместе с указателем следующим параметром размер области на которую он сслыается чтобы проверять внутри функции.
Я возвращаю из функции размер записанных в буфер данных.
Я не использую str* функции почти никогда за пределами константных строк.

Вот примерно про такие правила кодинга на С я писал.

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

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

126. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Инопланетянин (?), 25-Окт-26, 02:37 
>>Но так как выделенный буфер не был рассчитан на дополнительно прочитанные данные, они записывались в область за его пределами, в которой хранилось внутреннее состояние декодировщика.
> Коротко о том, зачем нужны зависимые типы.

Было бы интересно посмотреть на код бротли на яп с их поддержкой. Но вряд ли это будет дешево с поддержкой.

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

79. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Ivan_83 (ok), 25-Окт-26, 00:41 
Ну вот, ура, очередная новость о том как страшно жить!
У меня прям ломка с утра, думал ещё про пхп будет, а тут даже лучше!!!
Ждём на след неделе ещё более страшные новости!

А пока давай карту в красных тонах с избыточной смертностью от новой уязвимости по миру!


PS: изначально не понимал нафик оно сдалось и отключал бротлю везде где была такая возможность. zlib/zstd вполне хватает для потокового не напряжного сжатия.
Где требуется суперсжатие надо смотреть уже не потоковые версии, а такие чтобы один раз запаковал и потом раздаёшь себе архив.

Насчёт списка - надо понимать что не везде оно активно, те проект с либой может и собран но дойти до эксплуатации может и не выйти.

Прикольно то что в OpenSSH тоже не стали торопится и внедрять модную бротлю в добавок к zlib.

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

96. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Инопланетянин (?), 25-Окт-26, 01:44 
> Ну вот, ура, очередная новость о том как страшно жить!
> У меня прям ломка с утра, думал ещё про пхп будет, а
> тут даже лучше!!!
> Ждём на след неделе ещё более страшные новости!
> А пока давай карту в красных тонах с избыточной смертностью от новой
> уязвимости по миру!
> PS: изначально не понимал нафик оно сдалось и отключал бротлю везде где
> была такая возможность. zlib/zstd вполне хватает для потокового не напряжного сжатия.

Ахаха

CVE-2026-22184
CVE-2026-85091
CVE-2024-11477

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

104. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +1 +/–
Сообщение от Ivan_83 (ok), 25-Окт-26, 02:06 
И?

Меня конкретно бротля напрягала своей долгой сборкой, насколько помню.
Плюс zlib у меня есть в системе, а бротля +1 зависимость которая делает тоже самое, может даже капельку лучше, но в моих условиях разницы нет.

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

206. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Инопланетянин (?), 26-Окт-26, 01:57 
> И?

Просто если речь шла про то, что zlib менее уязвим, то вот.


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

99. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  –1 +/–
Сообщение от Сисишник (?), 25-Окт-26, 01:52 
>изначально не понимал нафик оно сдалось

А как иначе в такую кучу софта бекдоров насувать?

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

160. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (160), 25-Окт-26, 14:05 
> Прикольно то что в OpenSSH тоже не стали торопится и внедрять модную бротлю в добавок к zlib.

Наверное потому, что brotli создавался для эффективного сжатия веб трафика? Обожаю местную экспертизу.

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

170. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (169), 25-Окт-26, 14:59 
>brotli создавался для эффективного сжатия веб трафика

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

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

178. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Ivan_83 (ok), 25-Окт-26, 18:38 
А почему вы думаете что внутри SSH нельзя передавать веб трафик? :)
Ответить | Правка | К родителю #160 | Наверх | Cообщить модератору

219. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (200), 26-Окт-26, 12:49 
> brotli создавался для эффективного

Оно и видно, для какого эффективного создавался сабж.

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

92. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (92), 25-Окт-26, 01:34 
ну началось...
Ответить | Правка | Наверх | Cообщить модератору

124. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Инопланетянин (?), 25-Окт-26, 02:34 
> ну началось...

В первый раз? Обновимся и через неделю уже никто не вспомнит.

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

159. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (154), 25-Окт-26, 14:05 
UEFI-прошивки особенно сразу обновятся.
Ответить | Правка | Наверх | Cообщить модератору

179. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Ivan_83 (ok), 25-Окт-26, 18:38 
Да как бы пофиг на них вообще.
Ответить | Правка | Наверх | Cообщить модератору

180. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (180), 25-Окт-26, 18:45 
Владельцам кор2дуо — возможно.
Ответить | Правка | Наверх | Cообщить модератору

183. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +1 +/–
Сообщение от Ivan_83 (ok), 25-Окт-26, 21:51 
> UEFI-прошивки на базе EDK II и UEFITool, сжатые при помощи Brotli

Я не очень понимаю как это вообще затрагивает владельцев компов с UEFI, даже если конкретно у них оно пожато в бротли.
Понятно что там где то есть декодер с ошибкой, но чтобы это проэкплуатировать надо прошить в биос свою прошивку или её кусок.
И после этого получить что? Обход секуребута? - я как владелец могу его и так выключить.
И программатор у меня есть - я могу зашить что угодно и куда угодно...

А для атакующего понадобится условный рут, с ним и без UEFI можно всё необходимое сделать.

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

210. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Инопланетянин (?), 26-Окт-26, 02:16 
> UEFI-прошивки особенно сразу обновятся.

А ты можешь ответить зачем тебе лично EEFI? Я вот отключил.

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

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

211. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Инопланетянин (?), 26-Окт-26, 02:25 
>> UEFI-прошивки особенно сразу обновятся.
> Я вот отключил.

всмысле secure boot.

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

231. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (230), 27-Окт-26, 16:08 
У меня UEFI вообще нет, но просто смешно читать, как все дружно обновятся. И это мы ещё про чудовищную кучу устройств не вспоминаем, которые обновлений уже никогда не получат, те же андроиды всякие.
Ответить | Правка | Наверх | Cообщить модератору

148. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +1 +/–
Сообщение от Аноним (148), 25-Окт-26, 08:35 
> ну началось...

Начась примерно с момента создания йазычка.
opennet.ru/opennews/art.shtml?num=64498

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

207. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Инопланетянин (?), 26-Окт-26, 02:00 
>> ну началось...
> Начась примерно с момента создания йазычка.
> opennet.ru/opennews/art.shtml?num=64498

В то время написать столько кода малой командой и допустить одну cve, притом сознательно? Ты действительно не понимаешь гения?

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

156. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +1 +/–
Сообщение от Аноним (156), 25-Окт-26, 13:59 
Раздували и усложняли стек, теперь получите и распишитесь... Половину интернета надо обновлять для исправления. Еще бы подсчитать затраты на этот процесс и сравнить, сколько от внедрения бротлей этих выиграли по сравнению с использованием zlib.
Ответить | Правка | Наверх | Cообщить модератору

164. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +1 +/–
Сообщение от Аноним (15), 25-Окт-26, 14:21 
> Раздували и усложняли стек

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

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

171. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (169), 25-Окт-26, 15:02 
Такое веселье не навсегда. Монополисты всегда, рано или поздно, перестают быть монополистами.
Ответить | Правка | Наверх | Cообщить модератору

175. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (15), 25-Окт-26, 16:31 
> Такое веселье не навсегда. Монополисты всегда, рано или поздно, перестают быть монополистами.

рассмешил, монополист давно уже кукловод, создал подконтрольных марионеток и пшик вам в глаза под названием конкуренция :))))

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

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

184. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Ivan_83 (ok), 25-Окт-26, 21:59 
Можно не обновлять а просто отключить бротлю в конфиге и релоаднуть сервис.
И в zlib тоже былвали сходные проблемы.

Думаю гугл и прочие сервисы которые отдают большие объёмы трафик могли на бротле сэкономить вполне заметно больше чем было потрачено на разработку и внедрение.
Маленькие сайты - вряд ли.

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

172. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +2 +/–
Сообщение от Метрика (?), 25-Окт-26, 15:03 
Уязвимость в Bun который переписали на "безопасном" расте для безопасности, снимаю шляпу
Ответить | Правка | Наверх | Cообщить модератору

204. "Критическая уязвимость в декодировщике Brotli, затрагивающая..."  +/–
Сообщение от Аноним (200), 26-Окт-26, 01:33 
> Уязвимость в Bun который переписали на "безопасном" расте

Им же говорили, что на расте только обвязки можно писать... И безопасность обвязки не лучше внутренности.

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

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

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




XSQUARE
Inferno Solutions
Hosting by Hoster.ru
Хоcтинг: