LINUX.ORG.RU

Экстренный патч от FreeBSD, закрывающий критическую уязвимость в ping

 , , ,


0

2

Разработчики FreeBSD выпустили патч для критической уязвимости, связанной с переполнением буфера в утилите ping.

Уязвимости присвоен номер CVE-2022-23093 (9,8 балла — высокий уровень риска). Данная проблема может привести к удалённому выполнению кода при проверке с помощью команды ping внешнего хоста, подконтрольного злоумышленнику.

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

Функция pr_pack копирует IP- и ICMP-заголовки во внутренние буферы без каких-либо проверок на дополнительные расширенные заголовки, не принимая во внимание то, что в пакете после заголовка IP могут присутствовать дополнительные расширенные заголовки.

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

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

anonymous

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

Спустя 5 дней. Глобально и надёжно.

За это время могла бы произойти куча взломов, если бы freebsd где-то использовалась 😁

alex1101
()
Последнее исправление: alex1101 (всего исправлений: 1)

А вот интересно. Получается что в traceroute такой дыры у них нет.

mx__ ★★★★★
()

Уязвимость уже давно закрыли.

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

Да, для 13.1-RELEASE это был -p5. Для других поддерживаемых (12.3-RELEASE, 12.4-RELEASE) версий наверняка тоже закрыли.

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

Спустя 5 дней.

Ты по выходу "новостей" ориентируешься, что ли? xD

Уязвимость закрыли в тот же день, когда о ней стало известно.

mord0d ★★★★★
()

Это всё потому что ping не была написана на Rust ?

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

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

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

Можно объяснить простыми словами?

Эмба́рго: Наложение государством запрета на ввоз другими странами или вывоз из страны золота или иностранной валюты, отдельных видов товаров — оружия, современных технологий и других;

Интел запретил разглашать информацию о уязвимостях? А опенек исправил у себя уязвимость раньше чем интел рассказал о ней?

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

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

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

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

Slack ★★★★★
()

hobbit, зачем было подтверждать это 4.2?

Права не root, а того юзера от кого был запущен пинг, об этом прямо написано в первоисточнике. И о чём я писал в аналогичной 4.2-теме в толксах.

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

Спустя 5 дней после чего? Патч наложен 29 ноября. https://svnweb.freebsd.org/base?view=revision&revision=372774

За это время могла бы произойти куча взломов, если бы freebsd где-то использовалась 😁

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

Не говоря уж о том что пинг сам по себе запускается в песочнице.

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

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

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

Запускается с suid, создаёт raw-сокет (ещё ничего никуда не шлёт и тем более не принимает), дропает себе права до обычных, и потом начинает основную работу. Эксплуатировать suid-root в нём можно только найдя баг в коде создания raw-сокета (что очень вряд ли, т.к. это один syscall), парсинга аргументов (хотя не уверен, может он тоже после дропа прав) или в ld.so (было такое, LD_PRELOAD протаскивали через suid-фильтр как-то и подгружали злонамеренные библиотеки, но давно пофиксено).

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

что опенок никому не нужный

Опёнок – лучше что случилось с BSD. Именно он дал этому миру и Linux много полезных технологий.

EXL ★★★★★
()
Ответ на: комментарий от GREAT-DNG

Если не путаю ты сервак хотел фряхе поднять, как там?

Только купил охлад. В процессе сборки короче.

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

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

Slack ★★★★★
()

Конечно же, надо оставить всё как есть и ни в коем случае не переписывать это на Rust.

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

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

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

Ай да BSD’уны, ай да молодцы! Есть еще жизнь там похоже, рано хороните систему.

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

За это время могла бы произойти куча взломов

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

alt-tab-let ★★
()
Ответ на: комментарий от hobbit

Каким образом Rust спасёт от подобных ситуаций?

может быть, ping не скомпилируется?

alt-tab-let ★★
()
Ответ на: комментарий от Slack

Опенок наоборот - мал, никакие большие игроки по крупному в нее не вкладываются, но тем не менее многие идеи, приходящие в сумасшедшую голову Тео, расползаются часто в том или ином виде по всему опенсурсу.

Мне больше всего понравилась история, что никто там не знал, что в андроиде libc от openbsd, пока в рассылку не пришёл человек из андроида (звучит!) и не приволок кучу патчей.

alt-tab-let ★★
()
Ответ на: комментарий от alex1101

Ну микрософт, например, с его «вторником патчей» и тем что неделю до вторника тачки стоят дырявые, никого не смущает.

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

Конечно же, надо оставить всё как есть и ни в коем случае не переписывать это на Rust.

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

alt-tab-let ★★
()
Ответ на: комментарий от chenbr0

Зачем? Можно же быстренько фичу наколхозить и в одном коммите с багфиксом залить

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

Ну микрософт, например, с его «вторником патчей» и тем что неделю до вторника тачки стоят дырявые, никого не смущает.

Как будто они после этого «вторника» становятся сильно защищёнными...

alt-tab-let ★★
()

Мой мир уже не станет прежним.

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

Да ой ли. ssh я бы предпочёл от другого вендора, а не от этих утырков завязавших его на костыли своей никому не нужной системы и наружу выпускающие отдельную «portable» версию. Несовместимый libressl который нигде уже не поддерживается? Костыльные вызовы для изоляции типа unveil, которые в полутора утилитах используются, потому что автору интересно было поддержать? xenocara, про которую нигде больше не слышали? Их MTA костыльный, как там бишь его? tmux пожалуй разве что.

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

Да ой ли. ssh я бы предпочёл от другого вендора, а не от этих утырков завязавших его на костыли своей никому не нужной системы и наружу выпускающие отдельную «portable» версию

Ааааагласите весь список.

И чёт другие системы почему-то эти утырнутые костыли используют.

Несовместимый libressl который нигде уже не поддерживается?

Что значит «несовместимый»? Несколько лет назад openssl требовался, по-моему, двум пакетам, остальные из 10000 пакетов от его отсутствия не страдали.

Костыльные вызовы для изоляции типа unveil, которые в полутора утилитах используются, потому что автору интересно было поддержать?

Оно используется во всей базовой системе. Да и в сторонних пакетов их явно более двух.

xenocara, про которую нигде больше не слышали?

Уши надо чаще мыть. xenocara это по сути другая компоновка xorg, монолитная вместо 10000 пакетов, плюс некоторые свои патчи. Некоторые свои патчи на какие-то решения накладывают почти все заметные дистрибутивы, в чём тут разница? Им надо включить xorg в свою базовую систему, они это делают там, где им удобно, это не open*d, которые выпускаются в portable-версиях, это по большей части для себя.

Их MTA костыльный, как там бишь его?

OpenSMTPd. У тебя какие-то комплексы по части костылей. opensmtpd шикарен своим унифицированным конфигом в духе всех остальных утилит, от pf до httpd, своей простотой и минимальным количеством кода. Не всем нужен энтерпрайз-почтовик, а в виде минималистичного opensmtpd просто шикарен. Это как nginx во времена перегруженного всем apache.

tmux пожалуй разве что.

а чо screen не угодил-то? :) CTRL-A удобнее, яем CTRL-B :)

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