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

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



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

"Критическая уязвимость в декодировщике Brotli, затрагивающая Node.JS,  Bun, браузеры, HTTP-клиенты и другие пр..."  +/–
Сообщение от 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. Сообщение от Аноним (2), 24-Окт-26, 19:23   +7 +/–
> Brotli

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #3, #6, #8, #14, #19

3. Сообщение от titt (?), 24-Окт-26, 19:26   +2 +/–
альтернатива gzip, чтобы сжимать данные веб трафика и тд
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #28

4. Сообщение от laindono (ok), 24-Окт-26, 19:28   +/–
Сишечные CVE марки "Каждый день".
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #7, #9, #16, #43

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

7. Сообщение от Аноним (7), 24-Окт-26, 19:31   –2 +/–
В руки программиста попал инструмент, где надо делать самому, а он привык к полу-автовождению.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #12, #13

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

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

10. Сообщение от Аноним (10), 24-Окт-26, 19:55   +/–
а говорили xz плохой...
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #33

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

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

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

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

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

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

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

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

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

14. Сообщение от Аноним (14), 24-Окт-26, 20:07   –5 +/–
ты браузер-то открой

> accept-encoding gzip, deflate, br, zstd

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

15. Сообщение от Аноним (15), 24-Окт-26, 20:09   +1 +/–
а им такие и не нужны, результат в новости.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12

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

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

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

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

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

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

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

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

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

21. Сообщение от Анонимусс (?), 24-Окт-26, 20:28   –2 +/–
Правду сказал какой-то безымянный анон на опенке:
"C in CVE stands for C language" (c)

Причем уязвимость жила в коде с марта 2018 года.
И ни один из тыщщи глаз не заметил.

А то, что уязвимость найдена ЫЫ отдельно доставляет.
Ждет воя "ВыФсеВрете!!!111" от кордвадубных луddитов :)

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

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

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

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

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

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

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

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

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

33. Сообщение от Аноним (34), 24-Окт-26, 20:34   +/–
> а говорили xz плохой

Кто говорил?

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

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

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

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

37. Сообщение от iZENemail (ok), 24-Окт-26, 20:44   +/–
Детские проблемы Си.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #45

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

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

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

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

45. Сообщение от Аноним (45), 24-Окт-26, 21:33    Скрыто ботом-модератором+/–
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37 Ответы: #49

46. Сообщение от Аноним (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

47. Сообщение от Аноним (43), 24-Окт-26, 21:43   +/–
> выходы return прямо из case.

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

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

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

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

48. Сообщение от Аноним (48), 24-Окт-26, 21:46   +/–
оно не идет в стандартной поставке
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36

49. Сообщение от Аноним (15), 24-Окт-26, 21:47   +/–
> Это уже маразм

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

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

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

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

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

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

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

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

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

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

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

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


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

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




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