Опубликован корректирующий выпуск почтового сервера Exim 4.98.2, в котором устранена уязвимость (CVE-2025-30232), потенциально позволяющая поднять свои привилегии. Возможна ли удалённая эксплуатация уязвимости не уточняется...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=62960
>Проблема возникала из-за освобождения памяти под буфер вывода отладочной информации (debug_pretrigger_buf) без выставления в указатель значения NULL, которое используется для проверки наличия буфера перед обращениями к нему.И эти люди получают зарплату.
> И эти люди получают зарплату.Хуже! Эти люди, небось, еще и спокойно спят по ночам.
Абсолютная безответственность и наплевательское отношение к пользователям.
Меня больше интересует кто их взял на работу и кто отвечал за код ревью. Это либо намеренная диверсия, либо проф непригодность.
Их взял Кембриджский университет.А тебя не взял.
Тот самый университет, что набирает студентов по расовым квотам? Ну что ж, ничего удивительного.
Авторы поди на пенсии уже и им пофиг.
Какие именно эти?
Судя по тому как там выглядит код это писали фрики где то в 90х и потом не делали рефакторинга и даже реформата кода под адекватный стиль.
И скорее всего это были админы которые писали это для себя, а платили им совсем за другое.
Ну раз у тебя на столько дефицит внимания:
>Проблема проявляется начиная с выпуска Exim 4.96А вот дата выхода этого релиза:
>26 июн. 2022 г. — Новая версия почтового сервера Exim 4.96.Т.е эту эту уязвимость добавили такие же зумеры, как и ты, не способные дочитать до четвертой строки, но точно знающие, что виноваты диды из 90-х :)
И что?
Там такое форматирование и такая структура кода что это трудно воспринимать.Так же не удивлюсь ни разу если это пилят админы в свободное от пива и обжимки rj45 время.
> И что?То, что ты снова обделался со своей экспертизой. Не надоело еще?
Без пруфов такие обвинения не канают.
Дитё - ты хоть раз в жизни код Ыкзима смотрел? Вот иманно! :)
Впрочем и НЕ рекомендую смотреть, там полный ППЦ, такое хорошо работать НЕ может.
Я сегодня посмотрел впервые, ссылка из новости: https://code.exim.org/exim/exim/src/commit/be040d7df68a8cbb2...Такой самобытный стиль явно где то из 90х и явно от одминов, все остальные уже давно форматируют по вполне понятным причинам сильно по другому ))))
Хотя лично мне не нравится когда "} else {" распиливают на 3 строки, как и "if (...) {" на две.
Наивно как-то, ну да ладно.
Кто "эти люди"? Ты посмотри на статистику Contributors на гитхабе. Наверное не ошибусь, если скажу, что последние 10 лет в репу стабильно коммитил всего 1 человек.
Как я понимаю, нет человека на фуллтайм, который бы занимался разработкой. Такое ощущение, что им вообще никаких грантов не достается.
Может Exim переписать на Раст? А то постоянно в нем ошибки с памятью
Не надо. Могие его любят за то, какой он есть, даже если он и дырявый всю дорогу. Но такой функциональный, что ему можно всё простить и назвать его лучшим из лучших.
Сначала компилятор из раста в ассемблер напиши, чтоб не юзать дыряшечно-плюсовый LLVM-IR, клован
А в чем проблема с LLVM?
Написан на ЯП, который не работает безопасно с памятью + (как тут говорят местные) тянет тяжелое наследие Сишки-дыряшки. Когда закончите с компилятором, переходите к самому ассемблеру, чтоб тож на расте был написан... а то мало ли какое там переполение и use-after-free случится при ассемблировании в двоичный код.
Какие-то глупости, это всё не так важно, на чём написан. Главное, чтобы компилировать Раст правильно
А ты потянешь?
> Может Exim переписать на Раст? А то постоянно в нем ошибки с памятьюА смысл? Его проще закопать и перейти на Stalwart, maddy или на что-то другое.
Но инертность мышления одминчигов и прочих бибизянок, которые без инструкции в инете ничего сделать не могут, не позволяет это сделать - проще жить с диырениями.
Вот, кстати, это наверное первый раз, когда я соглашусь, что что-то стоит на Rust переписать.
> вызвана обращением к памяти после её освобождения (use-after-free)Ha-ha, classic! (c)
И больше особо добавить нечего.
Хотя зная качество кодовой базы Exim - ничего удивительного.
Там стиль написания ... как будто оригинальный аффтар всё ещё на "b*" пишет :-\
Напуркуа такое?
Просто Exim пишется ненастоящими сишниками. Настоящие сишники такого бы не допустили.
Ага, сравнить хотя бы с постфикс или другими почтарями.
Странно что с таким названием он написан не на Erlang.
Да ваще... Странно что глаголы to exist, to exit не имеют отношения к Erlang.
Вот-вот!
> уязвимость, потенциально позволяющая поднять свои привилегии.
> вызвана обращением к памяти после её освобождения (use-after-free)
> освобождения памяти под буфер вывода отладочной информации (debug_pretrigger_buf) без выставления в указатель значения NULLШтош...
Хотел написать банальное "никогда такого не было и вот опять", но оно слишком банально.Думаю тут слова излишни, все и так всё понимают.
Да, это всего лишь 100500 подобный коммент на opennet.C разрабы внимательно всё это читают.
Нет.
Неужели вас не за*бало это писать. Для кого? Зачем? Тут такие же freeloaders, в жизни не написавшие ни строчки кода для любимой ОСи.
>Неужели вас не за*бало это писать. Для кого? Зачем?По этому поводу есть замечательная поговорка: собаки лают, а караван идет. Не обращай внимание - собаки будут тявкать всегда и по любому поводу, т.к. они ни чего больше не умеют делать.
Спасибо, чувак! Отлично сказано!Я тебя процитирую когда кто-то в следующий раз буде тявкать в обсуждении про внедрение раста в ядро линукс))
Для новичков и неофитов)
Молодежь приходит сюда, и видит в новостях кучу СИшных дыреней.Но в комментах ей начинают втирать про "это был неправильный СИшник", "подумаешь уязвимость, с кем не бывает", "ничего страшного что оно жило 20 лет в коде, вас что лично взломали?!".
Т.е приучают молодую поросль к бракоделству на дырявых ЯП.А так можно, хотя бы попытаться, привить им ответственность за свой написанный код.
И отвращение к уязвимым дыряшкам))
>привить им ответственность за свой написанный код.Новое поколение, которое приходит в ИТ, 3 из 4-х - инфантилы. Им надо не "ответственность за свой написанный код", а общее чувство ответственности развивать.
>>привить им ответственность за свой написанный код.
> Новое поколение, которое приходит в ИТ, 3 из 4-х - инфантилы. Им надо не "ответственность за свой написанный код", а общее чувство ответственности развивать.А тогда как назвать дидов, которым вообще плевать на качество кода?
Не знаю какое тебе попадалось новое поколение, но старое мне запомнилось повсеместным "и так сойдет".
Но свой код ты конечно же не покажешь? Ну чисто чтобы оценить его качество.... :)Трепло детектед. Нет у тебя кода, никакого.
Ты всё не правильно понял.Тебе разрешили бесплатно пользоватся результатами трудов, и потому твоё мнение никого не интересует.
Ты никто и звать тебя никак, мнение твоё никого не интересует.
Вот и всё что деды имеют тебе сказать.Даже вот этот ужасный сабж лучше чем твои фантазии о том как оно должно было быть хорошо на хрусте, просто потому что он хоть как то работает.
Если хочешь чтобы с тобой считались - тебе нужны какие то свершения, за твоим авторством, чтобы можно было посмотреть, скомпилить, запустить и сказать: "awesome, good job!".
После этого можно будет начать слушать твоё мнение, которое будет подкреплено твоим опытом решения реальных проблем с кодовой базой.
Сейчас у тебя одно фанатство: "С плохой там одни ошибки".А чтобы обоснованно катить бочку на весь язык тебе нужен помимо технического ещё и манагерский бэкграунд, где то в роли продакт овнера, архитекта. И сильно желательно ещё иметь УСПЕШНЫЙ опыт миграции больших кодовых баз на хруст.
Чото мне кажется такого нет ибо бабло под такое не дадут :)
>старое мне запомнилосьЯ так понимаю, что для тебя люди, родившиеся в 1990, уже диды.
Чтобы что то развивалось для этого нужна мотивация, или даже система мотивации.
Сообщения на опеннете о том что раст хорошо а С страшно явно для этого не достаточно.
> Новое поколение, которое приходит в ИТ, 3 из 4-х - инфантилы.И это большой прогресс! До этого 4 из 4 были инфантилами, что хорошо видно по комментариям на опеннете, например.
> Молодежь приходит сюда, и видит в новостях кучу СИшных дыреней.И не видит ещё больше софта/когда на С который работает без проблем.
"Ошибка выжившего" только наоборот.
> А так можно, хотя бы попытаться, привить им ответственность за свой написанный код.Чувак, а ты когда начнёшь платить за опенсорц?
> И не видит ещё больше софта/когда на С который работает без проблем.Хаха, и сколько на СИ рабочего софта осталось?
Основной юзерский софт это С++, С# на винде и ObjC/swift на яблоке, джава у корпораций электрон-js у всех остальных.
Из крупного остались ХОрг - просто зловонная куча кода и ядро.
> "Ошибка выжившего" только наоборот.
>> А так можно, хотя бы попытаться, привить им ответственность за свой написанный код.
> Чувак, а ты когда начнёшь платить за опенсорц?Т.е если бесплатно - то можно "абыкак" наовнячить код?
Кажется те диды бракоделы думали точно так же))ps я весьма долго поддерживал пару опенсорсных проектов, пока не наступил час Ж и донатить стало сложнее.
вот только я не уверен, что деньги изменят привычные подходы тяп-ляпов.
> Хаха, и сколько на СИ рабочего софта осталось?Как минимум GTK/XFCE на С.
В остальном мне трудно отделить С от С++ в оценке сколько кода в системе.А если брать те же сервисы - там минимум половина на С реализовано до сих пор.
nginx, samba, cups, chrony, dnsmasq, openssh, rsync - это из того что у меня крутится.
> Т.е если бесплатно - то можно "абыкак" наовнячить код?Да, бесплатно можно и абы как и с бэкдорами и с майнерами.
Я бы сказал даже нужно, ибо нефиг бесплатно выслушивать вот такие предъявы.
> ps я весьма долго поддерживал пару опенсорсных проектов, пока не наступил час Ж и донатить стало сложнее.А ты учитывал что час работы стоит минимум 50 баксов, а по хорошему так все 100+?
Можешь донатить криптой или через обменники крипты.
> Как минимум GTK/XFCE на С.И сколько того GTK в мировом масштабе?
> А ты учитывал что час работы стоит минимум 50 баксов, а по хорошему так все 100+?
> Можешь донатить криптой или через обменники крипты.Не, я видел твой опенсорсный овнокод, и очень сомневаюсь что за деньги ты будешь писать лучше.
Так что, спасибо за предложение, но не нужно)
> Не, я видел твой опенсорсный овнокод, и очень сомневаюсь что за деньги ты будешь писать лучше.Так плати по $100/час и ищи себе идеальный пограмистов, пусть они тебе пилят в опенсорц то что тебе надо, я не вижу тут никакой проблемы.
Я не претендую на твои деньги, скорее ты тут претендуешь на мои ресурсы.
> Так плати по $100/час и ...Ну до тебя и туго доходит...
Я не собираюсь не то что платить за exim и подобное, я даше этим калом пользоваться не буду.Тут важно донести до людей, которые не в курсе что си - дырявый язык и писать на нем нормально могу единицы. Остальные не научились в память за 40 лет использования языка.
И если вы видите что что-то "написано на си", то это огроменный предупредительный знак "осторожно, 99% шанс что это писал очередной 6ыdloкодер и там будут CVE, а может даже RCE".Тогда сообщества появится потребность, чтобы софт был надежным.
И сообщество начнет это требовать от программистов. Исполнять или нет это будет уже их решение.
Ох чувак, ты в каком то странном мире живёшь.Я живу в мире где часто вообще никакого софта нет для решения проблемы, поэтому приходится качать все подряд .ехе и пофиг что там наверняка вирусы есть или это вообще инсталлятор мейлруагента замаскированный под что то нужное мне.
> И сообщество начнет это требовать от программистов. Исполнять или нет это будет уже их решение.Какое сообщество, ты совсем кантуженный!?
Я же тебе описал workflow.
1. возникает проблема.
2. гуглится решение.
3. готовое решение в гугле не найдено.
4. задача декомпозируется, гуглятся куски.
5. куски склеиваются вместе, отсутствующее допиливается руками.
6. проблема решена.
7. идём бухать
8. в пьяном угаре выкладываем на гитхуб похватся коллегам.В каком тут месте сообщество и кого оно вообще интересует?
(оно тут в п8, когда уже проблема решена и автору нет дела, переделывать он не будет - бюджет израсходован)
>что за деньги ты будешь писать лучшеЗа деньги НИКТО писать лучше не будет. За деньги будут писать БОЛЬШЕ.
Нет. Тут зависит от того как процесс поставлен.
Я работал на компании которые вот именно требовали писать лучше. Причём жестко, c наградами\штрафами. И (удивительно!) гoв№oкодa было достаточно мало.Но с ткм, что что такое нынче - редкость, спорить не буду, увы :(
> Как минимум GTK/XFCEЛинух-онли. Причем XFCE это вообще недоДЕ по сравнению с гномом/кедами.
Мы про пользовательский софт говорим, а не про загончик четырепроцентников.
С тобой уже спорили по этому поводу - я начал перечислять все что написано на с++ - браузеры, игровые движки, офисные пакеты, компиляторы сишки и тд, а ты слился "ну, большая часть консольных утилиток, либы там всякие"
Потому что мне это не сильно важно и потому не оч интересно :)
И к пользовательскому софту относится не только то что с гуем, но и всякие службы, в том числе и сабж.
> А ты учитывал что час работы стоит минимум 50 баксов, а по хорошему так все 100+?Час работы опенсорс-разработчика не стоит 50 баксов, и уж тем более не стоит 100+. Те разработчики, которые могут выставить такой ценник за бесплатно код не пишут (я знаю, потому что я работал таким сисадмином и с такими разработчиками больше десяти лет). Те, кторые пишут за бесплатно не могут выставить никакой ценник, потому что работают за зарплату. Есть ещё те, которые пишут опенсорс за зарплату, и у них та же проблема — работа за зарплату.
Вообще, опенсорс и его мнимая значимость для резюме — какой-то развод немамонтов с совершенно неясными целями (качество кода на выходе… ну вот можно в сабж посмотреть, например).
> Т.е если бесплатно - то можно "абыкак" наовнячить код?Ещё раз проясню чтобы дошло.
Не важно на каком языке и кто пишет, в опенсорц люди выкладывают то что они делали для себя лично.
Они сами лично профинансировали эту работу.
Результат этой работы их полностью устроил или у них кончился бюджет (деньги/время/интерес).
Люди по какой то причине поделились результатами этой работы.Теперь приходит какой то чел который скачал это бесплатно и начинает кидать предъявы что код плохой, дырявый, глючный и тп.
Чувак, ты никто и звать тебя никак, пойми это. Свои претензии и хотелки ты можешь засунуть себе в то отверстие где нет света.
За великую благодать=благотворительность можешь считать то что тебе ответят по почте или в issues.
> Хаха, и сколько на СИ рабочего софта осталось?
> джаванаписана на С++
>у корпораций электрон-js у всех остальных.
написан на Си
Судя по частоте появлений комментов здесь 1-2 чела сидят под анонимом и щитпостят про то какой раст хороший и какой С страшный.
Тем самым пытаются создавать видимость большинства и тп.Вместо агитации вы бы лучше делом показали какие хорошие на расте программы можно писать, а то "у вас весь пар в свисток выходит"!
> Судя по частоте появлений комментов здесь 1-2 чела сидят под анонимом и щитпостятВ этой теме:
Ivan_83 - 20 комментов
Аноним (-) - 13 комментов, включая этот. И судя по текстам, это как минимум два анонима.Задача для 3го класса - кто нащитпостил больше? Отвечать у доски будет Иван.
> про то какой раст хороший и какой С страшный.
Си не страшный. Си просто кусок древнего кала, которому пора на покой.
А страшные сишники - которые мало того что 6ыdloкодеры и бракоделы, но и не обучаемые уже лет тридцать минимум.
> Тут такие же freeloaders, в жизни не написавшие ни строчки кодаэтож хорошо в отличии от могущих писать дырявое. Незнайка лучше недоучки (ц)
>Незнайка лучше недоучки (ц)Абсурд! Следуя этой логике, любой бездельник лучше работающего, т.к. ни когда не допускает ошибок.
> Следуя этой логике -> т.к. ни когда не допускает ошибокЭто второе следствие, а первое - незнайка наносит наименьший ущерб от своих действий/бездействий. Так что ничего абсурдного, классическая логика.
Так и пользы вы - незнайки никакой не причиняете, так что в биореактор вас проще упихать.
> Так и пользы вы - незнайки никакой не причиняетеГлавное - никому вред не причинять, а пользу надо заслужить, она должна быть взаимной, так как никто никому не должен.
Ну так написан же на языке без сборщика мусора.Надёжный софт пишется только на языках со сборщиком мусора. Если задача может быть автоматизирована, то она всегда будет выполняться автоматом лучше, чем человеком.
Ему работать надо а не сборщики мусора гонять.
В Exim было куча уязвимостей, связанных с логикой, где safe languages никак не помогут.Фанаты Rust всё время об этом забывают.
> В Exim было куча уязвимостей, связанных с логикой, где safe languages никак не помогут.О, раз так - то другое дело.
Давайте к ошибкам логики добавим еще кучу ошибок с буферами и double-free!> Фанаты Rust всё время об этом забывают.
Три критические уязвимости в Exim, позволяющие удалённо выполнить код на сервере
opennet.ru/opennews/art.shtml?num=59836
1. .. записи своих данных в область памяти за границей выделенного буфера.
2. .. копированием полученных от пользователя данных в буфер фиксированного размера без необходимых проверок размера
3. записи переданных пользователем данных в область памяти за пределами выделенного буфера.Обновление Exim 4.94.2 с устранением 10 удалённо эксплуатируемых уязвимостей
opennet.ru/opennews/art.shtml?num=55079
Целочисленное переполнение (3 шт), запись в области вне буфера, чтение в области вне буфера, переполнение буфера....Опубликован Exim 4.92.3 с устранением четвёртой за год критической уязвимости
opennet.ru/opennews/art.shtml?num=51590
Уязвимость вызвана переполнением буфераИ это даже не вся первая страничка по тегу Exim ))
И что?
А сколько уязвимостей было в том же wordpress на безопасно памятном PHP?Если это какаха код то на любом языке оно будет так себе.
> А сколько уязвимостей было в том же wordpress на безопасно памятном PHP?"А у вас негров линчуют!"
> И что?
Разница в том, что как не допускать логические ошибки никто не знает. Точнее знают - формальная верификация - но это настолько дорого, что никто этим заниматься не будет ни для чего кроме супер-мишн-критикал.
А как решить проблемы с выходы за границу массива - уже все знаем.
И все проблемы описанные выше не случились бы при использовании нормального языка - что раст, что с++ (если не писать в дыряшечном стиле).
Квалификация, архитектура и стиль кода - очень сильно влияют на результат.
Гораздо сильнее чем раст.
> Квалификация, архитектура и стиль кода - очень сильно влияют на результат.В таком случае квалифицированные сишники - вымирающий вид))
Если даже в ядре люди, которые пишут по 15-20-25 лет, допускают таки глупые ошибки.
Вы почему то считаете это критической проблемой, хотя это далеко не так.
Типичные новости про Exim из года в год: "выпущено обновление с устранением уязвимости"...
Так это же хорошо, что устраняют уязвимости. Плох тип этих уязвимостей.
> Обновление почтового сервера Exim 4.98.2 с устранением уязвимостиА у него какие-то другие обновления вообще бывают?
Ну вот версия 4.98.1 тоже security release. It addresses a possible SQL injection. Please check CVE-2025-26794 for more details.
Посмотрел исходный текст. Да, неудивительно
про exim вообще бывают новости не про уязвимости?