LINUX.ORG.RU

Критическая уязвимость сразу во всех распространённых браузерах

 , ,


6

5

Компания Google опубликовала информацию и уже закрыла уязвимость в библиотеке libwebp, которая могла приводить к удалённому выполнению кода, когда пользовать просто открывает сайт. Библиотека libwebp используется во всех браузерах на движке Chromium, а также в приложениях на базе electron, в браузере Mozilla Firefox, Gimp, Inkscape, LibreOffice, Telegram, Thunderbird, ffmpeg и другом программном обеспечении. Затронуты также и другие операционные системы.

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

Всем пользователям рекомендуется обновиться как можно скорее.

>>> Подробности

★★★★★

Проверено: unfo ()
Последнее исправление: hobbit (всего исправлений: 4)

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

Skullnet ★★★★★
()
Последнее исправление: Skullnet (всего исправлений: 1)
Ответ на: комментарий от hateWin

нет, конечно не в сишном стиле. Чтобы сделать подобное наверное юзают уязвимости в самой vm

monkdt
()
Ответ на: комментарий от Skullnet

Браузеры поддерживают не только линукс, да и в зоопарке дистрибутивов линукс версии библиотек могут быть разные, поэтому единственный выход носить все с собой.

arax ★★
()

Гарвардская архитектура плохая, говорили они.

sin_a ★★★★★
()
Ответ на: комментарий от monkdt

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

dictator2000
()
Ответ на: комментарий от arax

Браузеры поддерживают не только линукс, да и в зоопарке дистрибутивов линукс версии библиотек могут быть разные, поэтому единственный выход носить все с собой.

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

Вот ещё приколы, когда тащишь с собой в проекте либы:

 0:03.64    Compiling proc-macro2 v1.0.59
 0:03.70 error[E0635]: unknown feature `proc_macro_span_shrink`
 0:03.70   --> Distfiles/compile/firefox-117.0.1/third_party/rust/proc-macro2/src/lib.rs:92:30
 0:03.70    |
 0:03.70 92 |     feature(proc_macro_span, proc_macro_span_shrink)

и это на nighly версии раста.

Skullnet ★★★★★
()
Последнее исправление: Skullnet (всего исправлений: 2)
Ответ на: комментарий от Skullnet

У другого софта с этим проблем нет

Количество зависимостей не сопоставимо, если бы браузеры не шли со своими bundled либами, то пришлось бы не собирать браузер под дистрибутив, а дистрибутив под браузер.

arax ★★
()
Ответ на: комментарий от arax

Количество зависимостей не сопоставимо, если бы браузеры не шли со своими bundled либами, то пришлось бы не собирать браузер под дистрибутив, а дистрибутив под браузер.

Ну окей, но собирать либы статически - это конечно зашквар. А я бы заменил просто libfirefox-webp.so и всё, а теперь пересобирать и перепаковывать заново.

Skullnet ★★★★★
()
Ответ на: комментарий от Skullnet

Динамические библиотеки занимают больше места, чем статические. И зачем пересобирать FireFox при наличии бинарного? Тем более есть инкрементальная компиляция.

Werenter ★★☆
()
Ответ на: комментарий от Smacker

Но вот что докатилось до GIMP и Inkscape с LO, вот это прям моё почтение.

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

static_lab ★★★★★
()

разве нельзя сделать компьютер или ОС где буфер не может быть переполнен, если можно то это проблема компьютера/ОС , так ведь любая программа будущая-новая или старая может это делать каждый раз заного всегда.

Gennadevich
()

webp это те всратые картинки с которыми хз что делать и поэтому приходится схоронять их скриншот? :3

perl5_guy ★★★★★
()

Как бомбануло у ненавистников сишки :) Ведь они самые умные, уж точно умнее гугловцев, и пользуются своим браузером офисным пакетом на Java, Rust и других современных ЯП, и у них ни один буфер не переполняется. Ой, что это я размечтался… Ничего у них нет, а пользуются продуктом Гугла, бедненькие.

seiken ★★★★★
()

я еще в 2008 году говорил, что самый злобный троян на вашем ПК это браузер. Ибо это программа качает с интернета код и исполняет его. такое здоровое жирное RCE галактического масштаба. но никто не замечает…. все латают миллиард мелких дыршек в явескрипте.

antech
()
Ответ на: комментарий от antech

Это немного слишком. Бровзер запускается под своим юзверем и мало что может сделать. Вот если заюзать дыру и получить права другое дело

monkdt
()
Ответ на: комментарий от perl5_guy

webp это те всратые картинки с которыми хз что делать и поэтому приходится схоронять их скриншот? :3

Проблема в том что эти картинки меньше размером чем какой-нибудь jpeg с сопоставимым качеством, поэтому много кто налепил кеширующих прокси-сервисов, которые на ходу перекодируют статику в webp и отдают если браузер - хром.

Это видно если гуглить картинки - из гугла часто будут отдаваться как раз в webp формате.

alex0x08 ★★★
()

Мне нравится «сразу во всех браузерах» :D

cumvillain
()
Ответ на: комментарий от Gennadevich

разве нельзя сделать компьютер или ОС где буфер не может быть переполнен, если можно то это проблема компьютера/ОС , так ведь любая программа будущая-новая или старая может это делать каждый раз заного всегда.

Можно. Это называется Rust. На LOR его отрицают с пеной у рта. Видимо, на LOR любят когда хакеры пихают им в дыры свои экслоиты.

cumvillain
()
Ответ на: комментарий от Werenter

Динамические библиотеки занимают больше места, чем статические.

И эта разница в 10% она прям УУУХ какая важная при терабайтных дисках под систему, да? :D

cumvillain
()
Ответ на: комментарий от monkdt

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

antech
()
Ответ на: комментарий от monkdt

обычно бровзеры оперативно реагируют на такую новость. Но я еще ни у одного браузера не видел выпуск с заплаткой. У фокса, например, последняя 117.0.1, но в фичах ничего про уязвимость

Самая мякотка-то не в этом. Самая мякотка в полудохлых электроновых приложениях, авторы которых должны ещё успеть просраться и понять что у них дыра :D

cumvillain
()
Ответ на: комментарий от antech

lastpass. Самое интересное лежит либо в lastpass, либо в bitwarden, либо ещё где-то рядом :D

cumvillain
()
Ответ на: комментарий от antech

а в сбер зайти

хочешь сказать, что браузеры делают это регулярно? Используют твои аккаунты и пароли для онлайн бэнкинга и шарятся по твой файловой системе и сети? Где такие случаи? Зачем хацкеры тогда мучаются и ищут возможности заюзать дыру когда можно украсть все и без этого?

Я бы спецов послушал, но таким никто не пугает

monkdt
()

Кто-то спалил и слил на закрытых ресурсах закладку от гуюгла и тот быстренько решил поправить дабы свою репутацию не очернять. А зачем вообще этот webp нужен, когда есть png и с ним прекрасно столько лет жили.

Kolins ★★★★
()

Таки в телеграмме была уязвимость)

vstartsev
()
Ответ на: комментарий от cumvillain

Можно. Это называется Rust. На LOR его отрицают с пеной у рта.

Чего ты стрелки переводишь? Про гугл говори, как там отрицают.

seiken ★★★★★
()
Ответ на: комментарий от seiken

Чего ты стрелки переводишь? Про гугл говори, как там отрицают.

Потому что Rust отрицают на LOR’е, яростно дроча на C. Не так яростно, как на opennet, но довольно-таки.

cumvillain
()
Ответ на: комментарий от perl5_guy

GIMP сохраненный webp не открывает, но скопировать в браузере webp-пикчу и вставить её в GIMP получается без особых проблем.

foxy_ant ★★
()
Ответ на: комментарий от Skullnet

Ответ неправильный. Правильный ответ - умные указатели.

Проблема в том, что в плюсах оставили совместимость с C, сишными дырами, и добавили UB по самые помидоры. Так что нет, умные указатели тебя не спасут :D

cumvillain
()
Ответ на: комментарий от superuser

Ну не буфера а стека

А зачем выходить за границы стека, если все самое интересное находится в его границах? Например, адрес возврата?

и если выйти за границы некоего буфера, то всёравно эксплоит хрен сделаеш

Так, этот эксплоиты только на картинках видел, следующий!

cumvillain
()
Ответ на: комментарий от superuser

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

cumvillain
()
Ответ на: комментарий от cumvillain

Потому что Rust отрицают на LOR’е, яростно дроча на C.

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

seiken ★★★★★
()
Ответ на: комментарий от seiken

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

Огромная. Тут огромная толпа ненавистников раста.

cumvillain
()

Одним багом больше, пора уже привыкнуть. Никто не перепишет гигатонны кода на С/С++ в ближайшие лет 50, поэтому факт того, что любая нетривиальная программа, включающая код на С, вероятно содержит уязвимости, надо просто принять и жить с этим. Если это неприемлемо, надо переписать нужную программу, но, конечно, с браузером это невероятно.

vbr ★★★★
()

в браузере Mozilla Firefox, Gimp, Inkscape, LibreOffice, Telegram, Thunderbird, ffmpeg и другом программном обеспечении

офигеть

anonymous_sapiens ★★★★★
()
Ответ на: комментарий от arax

Где-то видел упоминание, что гугл в процессе разработки chromium очень любит использовать самые распоследние фичи C++, в том числе те, которых нет в стабильных версиях gcc и clang. Поэтому поддерживать сборку chromium в дистрибутивах может оказаться тем ещё удовольствием. По этой же причине тащить готовые сборки google chrome и chromium намного проще.

grem ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.