В применяемых во FreeBSD фоновом процессе rtsold и утилите rtsol выявлена уязвимость (CVE-2025-14558), позволяющая добиться удалённого выполнения кода с правами root через отправку специально оформленного пакета c анонсом IPv6-маршрутизатора. RA-сообщения (Router Advertisement), через которые эксплуатируется уязвимость, не маршрутизируются и должны отбрасываться маршрутизаторами. Для совершения атаки злоумышленник должен иметь возможность отправки специально оформленного пакета с системы, находящейся в одном сетевом сегменте с уязвимым хостом...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=64475
Ого, это покруче, чем исполнение пакетов с правами root в networkmanager. Так держать!
Ничего страшного... :)> злоумышленник должен иметь возможность отправки специально оформленного пакета с системы, находящейся в одном сетевом сегменте
Т.е. любой выпинь может отправить пакет.
Так ещё и штатный демон. Нетворк манагер далеко не у всех тогда стоял.
> Т.е. любой выпинь может отправить пакет.Отправить - да. Получить - уже нет.
>rtsold передаёт ... без проверки корректности и без экранирования спецсимволов. Утилита resolvconf представляет собой shell-скрипт, не проверяющий входные данные.Ахренеть!
По описанию видно, что элитные Сишники писали.
shell-скрипт, не проверяющий входные данныеЯвно видно евангелиста rust, абсолютно не дружащего с головой.
Shell-скрипт сишники писали? Или ту программу, которая отправляет в shell-скрипт имя домена? Наверное Rust бы ещё лучше отправил. Проверил бы, что с памятью всё в порядке, чтоб сообщение обязательно дошло.
Мммм, какие все интересные, shell не любят. Может еще SystemD в чистую систему встраивать будете? Так, чтобы от sh избавиться
> Может еще SystemD в чистую систему встраивать будете?Почему бы и нет?
> Так, чтобы от sh избавиться
От этой отрыжки из 70х давно надо избавиться.
Чтобы в скриптовом языке была хоть какая-то типизация, нормальные строки, нормальные пути.
>>в утилиту resolvconf без проверки корректности и без экранирования спецсимволов.Такие утилиты надо писать на безопасном языке который гарантирует корректность и безопасно экранирует спецсимволы.
> Такие утилиты надо писать на безопасном языке который гарантирует
> корректность и безопасно экранирует спецсимволы.Именно!
А еще безопасно работать с буферами, чтобы нельзя было "разрешить прохождение пакета, буфер с данными которого уже освобождён"
и помечать опасные места unsafe, чтобы все знали где именно могут быть проблемы.
Тут намекают, что систему надо настроить нормально и тогда проблем не будет. Википедии кусок:"In securely administered environments the resolvconf program (or daemon, depending on the implementation) causes uneasiness since it interferes with the containment of resolv.conf security vulnerabilities, making changes to it without authorization. (Centralized change management, or centralized compliance, requires that system changes cannot be made from the sidelines.)"
Микротик это не исправит конечно, но возможность преуспеть имеется. (микротик притом потому что говнокод).
Чтоб CVE было Safe
Поч в фряхе до сих пор появляются такие стрёмные уязвимости, если код написан по заветам предков?
Потому что Юникс-Вей!
Программа должна делать одну вещь, но хорошо.
IP адреса резолвились? Резловились.
Безопасность в сделку не входила))
Нет ничего плохого, если утилита предполагает, что входные данные очищены. Например, в моем проекте именно так и сделано, и ресурсы на проверку данных в каждой такой утилите не расходуются. Но перед вызовом другая утилита обязательно производит очистку данных для всех аналогичных потребителей. Главное, чтобы всё было документировано.
> Нет ничего плохого, если утилита предполагает, что входные данные очищены.А потом удаленные рут уязвимости.
Кто ж мог подумать!> в моем проекте именно так и сделано
Для пет проектов и подкроватных серверов пусть.
А вот для системы, которая типа претендует на какую-то универсальность...> Главное, чтобы всё было документировано.
Было ли это документированно в БЗДе второй вопрос.
А вот то, что как и когда будут использовать утилиту разработчик не знает - это факт.
судя по твоим ответам ты даже однострочник не в сихал написать
Когда смотришь исходники, в которых 60% текста посвящены валидации данных, а 40% смысловой нагрузке, понимаешь - здесь что-то не то. А именно, нужно разделять проблему на более мелкие, а не валить всё в одну кучу.
рекомендую посмотреть шелл скрипт zgrep - вроде и простая задача, а навернули - мало не кажется
Мне не нравится разбор аргументов и куча грязноватых eval, но в принципе имеет право на жизнь, ничего сильно ужасного. Главное не скармливать этому не санитизированные данные.
Ну знаешь, сейчас оно документировано, потом документация устареет, потом ты или другой участник проекта забудет вызвать утилитку-санитайзер, забудет почитать документацию и т.п. Ненадёжен такой процесс.
А кроме шуток, фряху на раст неплохо бы переписать. Зачем они в линуксы лезут, если у них уже есть идеальная для того система?
> Зачем они в линуксы лезут, если у них уже есть идеальная для того система?Идеальная??
Интересно в каком это месте фряха идеальная?Да и зачем тратить время на каких-то маргиналов, если есть везде (кроме десктопа))) используемый линь.
Она определённо идеальней Redox. Знай себе переписывай вот подобные поделки и всё прекрасно работает. Всё равно повышенных требований как к линуксу к фряхе никто никогда не предъявлял.
> Всё равно повышенных требований как к линуксу к фряхе никто никогда не предъявлял.Если не считать более узкий диапазон применяемого оборудования: не слишком старое, не слишком новое, не уникальное и не специфичное. Впрочем, в виртуалке всё нормально работает.
Это как раз требования rust.
> Она определённо идеальней Redox.Редокс пилят полтора землекопа. Она не сравнима с bsd, а скорее с другими васянопроектами.
> к фряхе никто никогда не предъявлял.
Потому что она нафиг не нужна в современном мире.
Ну и ее распространенность где либо, отличном от подкроватных локалхостов, прекрасное этому доказательство.
> Интересно в каком это месте фряха идеальная?В том, что она существует, работает и может быть использована как альтернатива линуксу.
> Да и зачем тратить время на каких-то маргиналов, если есть везде (кроме десктопа))) используемый линь.
Когда-то и про винду так говорили. А потом ВНЕЗАПНО всё стало не так однозначно.
С учётом того, куда на всех парах летит разработка и развитие линукса - ровно такая внезапность может и с ним приключиться. И есть мнение, что время это уже не за горами.
И кто из истории со всеми такими "безальтернативными" решениями ничего для себя так и не вынес - для тех действительно, смысла никакого. И объяснить его тоже не получится.
А все остальные и так понимают в чём смысл.
>>Когда-то и про винду так говорили. А потом ВНЕЗАПНОмелкомягкий имеет соглажения со всеми значимыми производителями шелезяк,
это ясно видно по ноутбучному сегменту, так что _ВНЕЗАПНО_ ничего не случится.
очень жаль, но увы и ах (((
От того, что вы миллион раз повторите «альтернатива линуксу» - строчки кода не напишутся и драйвера не появятся. Вы понимаете, что это cheap talk, в который даже вы сами не верите? Я с тем же успехом могу сказать, что Фридос - альтернатива линуксу. Надо просто дописать, мелочи какие.
> Вы понимаете, что это cheap talk, в который даже вы сами не верите?Хорошо ли понятно, что "альтернатива" - это не всегда полностью готовое решение, которое можно прям сходу кинуть заместо старого и использовать?
Разумеется, тут именно надо "просто дописать" и никто не говорит, что это прям как два пальца об асфальт. Но с линуксом было то же самое - как замену коммерческим юниксам его всерьёз не воспринимал буквально никто. И тем не менее процесс шёл и где теперь те самые коммерческие юниксы?
Собственно, линукс ныне уходит ровно туда, где раньше были эти самые коммерческие юниксы. И многие уже начинают задаваться вопросом "а какие у нас есть альтернативы?"
Ответом на этот вопрос и является, в том числе, FreeBSD.
ну сам фрю давно не использую. но фря явно нужна. нетфликс обнаружили что линь не в состоянии шифровать фильмы и раздавать их на скорости 100 Гбит/с с одного сервера. А вот фря смогла. Подробностей я не помню. В линуксе потом тоже реализовали такое. Так что две системы лучше, чем одна. А то застой будет.
Использует ли сейчас нетфликс фрю с своей CDN в данный момент не знаю, вроде использует до сих пор.
Особенно на фоне того, что у линукса сейчас поддержка 1600 Гбит/с линков появилась (8 200 Gpbs портов задействуется, ага). Насколько я помню, фря у них не смогла, они запихнули в неё проприетарные асики и свои дрова для них -- им было проще в то время, потому что stable api nonsense и компания не то чтобы айтишная.
>фряху на раст неплохо бы переписатьна раст надо переписывать самый озабоченный безопасностью из BSD - OpenBSD. Вот это будет комбо.
А говорили чуть ли не академическая реализация сетевого стэка. Съели?
В каком месте это сетевой стек?
>Утилита resolvconf представляет собой shell-скриптСколько раз твердили: не используйте shell-скрипты ни для чего. Но только не в коня корм. Необучаемые.
А в чём принципиальная разница, кроме скорости работы? И скрипт-оболочки, и скомпилированный бинарный файл будут обращаться к одному и тому же API. И то и другое можно взломать, устроить переполнение буфера и т. п.А вот в части отладки скрипты выигрывают.
> в части отладки скрипты выигрываютТак можно говорить только не понимая в отладке вообще ничего. Хинт: вставить в скрипте 10 раз echo - это НЕ отладка, это monkey coding.
> monkey coding.Хорошо, просветите всех, как вы дебажите скрипты?
Я "set -x" чаще использую, вместо echo
Часто принты это единственный эффективно доступный метод отладки. По самым разным причинам, но чаще всего это максимально реальные условия. Что бывает необходимо. Но это не имеет отношения к вопросу, отладка скриптов просто более наглядная в известной мере.
>А в чём принципиальная разница, кроме скорости работы?Ну как-бы во всех языках кроме баша шелл-инъекция не является стандартной синтаксической конструкцией языка, без которой невозможно написать что-либо.
> не используйте shell-скриптыСкрипт можно быстро поправить, а бинарник? Да ты даже не найдёшь в нём ошибку!
> Скрипт можно быстро поправить, а бинарник? Да ты даже не найдёшь в нём ошибку!Вот-вот, я встречал легаси C++ программы в корпоративной среде, написанные сотрудниками, которые уже 10 лет как не работают. Все боятся вносить изменения в их "monkey coding". А, если бы это были скрипты, их бы уже обновили.
Ага, в скриптах-то monkey coding не встречается.
«monkey coding» — это была лишь отсылка к другому анониму выше; он так назвал отладку через «echo», причем сам додумал за других, как они отлаживают.
Учитывая низкую популярность фряхи, можно не реагировать. Всё равно везде линуксы. А в академических лабах могут друг друга взламывать сколько угодно.
Что в 2025 году может заставить использовать FreeBSD?
Ну как… Плейстейшн, нетфликс, идеальный сетевой… wait oh shi~
Они думают иначе: Netflix, NetApp, Juniper Networks, iXsystems, AMD, Beckhoff, Stormshield, Meta, Arm, Modirum, TarsnapНо они же сами и спонсируют FreeBSD. Кто девушку ужинает, тот её и танцует.
> Они думают иначе: Netflix, NetApp, Juniper Networks, iXsystems,
> AMD, Beckhoff, Stormshield, Meta, Arm, Modirum, TarsnapОбожаю, когда бсд dpoчеры начинают рассказывать как же много фирм используют БСД)))
Вы только посмотрите, когда они спонсировали или помогали кодом. И в каком году это было.
В 2025, карл. В 2025! Эти-то сами себе в своё время это ярмо на шею повесили.
> В 2025, карл. В 2025!А, типа новые адепты? Так на профильных форумах полно тех, кто хвалит FreeBSD. Даже здесь встречаются. Я лично с FreeBSD пока не работал. Но не вижу в этом ничего плохого.
> Что в 2025 году может заставить использовать FreeBSD?Фатальная ошибка, сделанная N лет назад, когда кто-то решил прибить инфру с непонятному поделию. И исправлять ее слишком дорого, поэтому приходится тянять легаси.
Для нового проекта брать бсд... даже комментировать нет смысла)
> Для нового проекта брать бсд... даже комментировать нет смыслаЧтобы вы понимали! Вы видимо давно страницу спонсоров фрибсд не перечитывали! Может еще и в крутой сетевой стек не верите?!
Упортость линуксоидов
Ну что, пал последний оплот «зато во фряхе идеальный сетевой стек». Какой удар, какое фиаско
так может, это намеренно оставленный бэкдор вкрылся. Расслабьтесь, закроют и пару новых заложат.
> Ну что, пал последний оплот «зато во фряхе идеальный сетевой стек». Какой
> удар, какое фиаскоПроблема вызвана тем, что какой-то скрипт не проверяет входные данные, но виноват сетевой стек. Мало ли что там от демонов/утилит приходит, принимающий скрипт должен выполнять проверку.
А скрипт конечно же писал ненастоящий бсдшник и вообще он уже уволен. Да да, продолжайте.
Какая разница кто его написал. Он в сетевой стэк не входит. Как и любые утилиты такого уровня.
Да ладно?! (с) А разработчики с тобой не согласны, что отражено в манах, вике и списках рассылки) Ну они ничего не понимают, что с них взять.
Сетевой стек на си написан, а не на шелле.Где, говоришь, они написали, что resolvconf входит в сетевой стэк? Ссылку сможешь дать?
Юный друк, прочитай пожалуйста новость внимательно и осиль понять, что делает rtsold.> rtsold передаёт указанный в RA-сообщении список "domain search" в утилиту resolvconf без проверки корректности и без экранирования спецсимволов
Проверяет принимающая сторона.Это основной принцип: получил данные, проверь их перед тем как использовать. resolvconf этому принципу не следует.
Да что ты гойворишь? Ну сходи в рассылку, расскажи разрабам, что им делать, а то они уже патчи для rtsolvd подготовили))Ты понимаешь, что в попытке оправдать очевидный косяк ты начинаешь придумывать какие-то только тебе известные «основные принципы» и уже споришь даже не со мной, а с разработчиками)) Просто остановись, чел.
Да какая разница, я посмотрел код утилиты и демона, и они не в ядре.
Так что сетевой стек тут не виноват.
Просто несколько Анонимов вроде тебя, начинают хлопать в ладоши не разобравшись в проблеме.
Freebsd вполне достойная ОС, в линухах тоже полно чего находили и на старуху бывает. А использовать можно и вин3.1 главная понимать зачем.
В этом и проблема, что на вопрос «зачем использовать freebsd” нам кивают на набившие оскомину за 20 лет нетфликс, Плейстейшн и волшебный сетевой стек. Сегодня на 1 кивок станет меньше, вот и всё.
Теперь главное сделать бисекцию и найти того, кто это занёс — мало ли чего ещё учудил.
> найти того, кто это занёсСколько десятилетий уязвимости находят - никого ещё не посадили. Мистика.