Опубликован корректирующий выпуск Exim 4.92.2 с устранением критической уязвимости (CVE-2019-15846), которая в конфигурации по умолчанию может привести к удалённому выполнению кода злоумышленника с правами root. Проблема проявляется только при включении поддержки TLS и эксплуатируется через передачу специально оформленного клиентского сертификата или модифицированного значения в SNI. Уязвимость выявлена компанией Qualys...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=51435
Ну и напоследок... компания Qualys и разработчики Exim в очередной раз желают всем приятных выходных!
>Ну и напоследок... компания Qualys и разработчики Exim в очередной раз желают всем приятных выходных!Вспомнился старый анекдот:
Понедельник, утро, семейный очаг, благоверная дежурит со спец. ср-вами, заползает добытчик шкур мамонтов, диалог:
- ты где был ?
- в эту праздничную ночь, с четверга на понедельник мы отмечали ДР кореша !
Занавес
> RHEL и CentOS проблеме не подвержены, так как Exim не входит в их штатный репозиторий пакетоГЕНИАЛЬНО!
Кстати это реально работает. Я не подвержен уязвиомостям виндоус, потому что не ставил её себе.
Да ладно Вам - в этом году всего три у exim и одна у dovecot критические уязвимости - главное новости этого сайта читать и обновляться вовремя.Всё равно exim + dovecot лучше чем гугл-почта и дешевле чем эксчендж.
Ещё бы придумать инструмент своевременного оповещения о выходе новых версии софта, особенно если дело касается критических исправлении. Пока к сожалению только на гитхабе по RSS все обновы ставлю. Но есть такой софт который не хостится на гитхабе и тому подобных системах.
https://vulners.com/products
Чистая белая страница.
так придуман давно - tail /var/log/apt.log (или как он там)наивные дети, думающие что они могут уследить за всем миллионом кривых софтин установленных на всех хостах - должны же страдать еще до того, как выберутся за пределы локалхоста?
> так придуман давно - tail /var/log/apt.log (или как он там)
> наивные дети, думающие что они могут уследить за всем миллионом кривых софтин
> установленных на всех хостах - должны же страдать еще до того,
> как выберутся за пределы локалхоста?У тебя моцк ктухлу зохавал походу. В чс добавил. Запарил всякую фигню нести.
очередное детишко обиделось?ну ладно, пусть больше не читает - а то ж разрушают ему розовый маня-мирок, где оно может вовремя и хоть с какой пользой (учитывая типовое жданье ебилдов) отслеживать все-все-все уязвимости во всем-всем-всем что понаустанавливало...или точнее поустанавливали за него умные дяди без спросу.
И конечно же о каждой уязвимости обязательно сообщают через специальные мэйллисты и модный слак, а не молча выпускают новую версию без лишнего ажиотажа, главное только найти в лесу этот волшебный цветочек...то есть мэйллист.
Пох, а терминация TLS для почтового трафика на реверсном прокси насколько удачное решение, и почему? Спасибо.
> Пох, а терминация TLS для почтового трафика на реверсном прокси насколько удачное
> решение, и почему? Спасибо.две точки отказа вместо одной и два уязвимых сервиса вместо одного, ну я хз.
нет, если под "proxy" ты подразумеваешь какой-нибудь ironport - то, конечно, работает - в смысле, за его интерфейсом tls и не особо нужен, и никакими неприятностями если и есть, не грозит.
Он и еще от статыщ болезней помогает, только стоит, гад, неприличных денег, купите два и заплатите всего-навсего вдвое больше! И настраивать неудобно, как и у всех энтерпрайзных поделок.А самому из дерьма и палок лепить - зачем?
На https://www.cvedetails.com/ есть кастомизируемый RSS.
Через 4 года тут будет город сад... (с)
https://www.cvedetails.com/cve-details.php?cve_id=CVE-2019-1...Unknown CVE ID
Нет, конечно, дней через несколько оно там появится, но не сегодня..
Но ремотный рут это такая штука, о которой через неделю узнать может оказаться поздно. (даже если не рут, а просто пользователь от которого работает почтовка.. это обычно все, что и есть на сервере. Уж мейнить и спамить - 100% хватит.)
https://www.openwall.com/lists/oss-security/
> Ещё бы придумать инструмент своевременного оповещения о выходе новых версии софта, особенно если дело касается критических исправлении.А лучше, чтобы этот инструмент сам же эти критические обноления и ставил… Хотя погоди!
https://wiki.debian.org/UnattendedUpgrades
https://dnf.readthedocs.io/en/latest/automatic.html
https://www.itsecdb.com/oval/
Иногда тяжело отличать сарказм и не сарказм.
> Всё равно exim + dovecot лучше чемЕсть Postfix, если что.
> главное новости этого сайта читать и обновляться вовремя.Да-да, уязвимости, о которых тут не пишут, они ведь не существуют. И ты ведь 24/7 онлайн, чтобы вовремя прочитать новость и накатить обнову на свой сервачок, не так ли?
Конечно 24/7 - а как же иначе гордо нести высокое звание постмастера :) ?
У многих современных постмастеров даже такого алиаса нет. Какой уж тут 24/7.
> У многих современных постмастеров даже такого алиаса нет. Какой уж тут 24/7.afair, в б-жественной бубунточке я видел /etc/aliases длиной ноль байт. Ну а чо, кому надо - напишет свои же ж?
epel, кстати, обновился - удивительно, и необычно для них, не прощелкали.
То то пишут бред, не обновились они. Так что пох и нах
да, зря я за них радовался - не туда глянул. "там" все как обычно - 4.92.1ну ничего, через недельку отдуплятся и поток спама с гуаноvps начнет снижаться.
До сих пор не обновился
Дырявый ентерпрайс
Счастлив от того что у меня Ubuntu, реально, все апдейты вчера поставились
Уже... (сен 8 05:04 + время на синк по зеркалам)
> Уже... (сен 8 05:04 + время на синк по зеркалам)че-та поторопились, эксплойт видимо никто так толком и не выпустил - доля спама с exim'ов нифига не изменилась, обычный всплеск в ночь с пятницы на понедельник.
> До сих пор не обновился
> Дырявый ентерпрайсepel - нерекомендованный к использованию энтерпрайзом репозиторий.
> Счастлив от того что у меня Ubuntu, реально, все апдейты вчера поставилисьсам-то ты руками вообще ничего делать не умеешь, только писюн теребить, да?
"счастлив от того что у меня exchange, все апдейты всегда сами ставятся. А если чего и не исправляют - я об этом все равно не узнаю."
Про Windows 10 еще надо было написать!
В EPEL до сих пор нет нового Exim
Все так называемые ентерпрайс системы типа CentOS уязвимыИ стоит ли после этого в продакшин использовать их?)
А что мешает вам использовать в продакшене систему с postfix по умолчанию вместо дырявого сабжа?
Обновления для постфикс будут от этого выходить быстрее чем обновления для exim?
> В EPEL до сих пор нет нового Exim
> Все так называемые ентерпрайс системы типа CentOS уязвимы
> И стоит ли после этого в продакшин использовать их?)epel - нет, и никогда раньше не стоило. What is EPEL? EPEL (Extra Packages for Enterprise Linux) is a volunteer-based community effort... то есть типовая васян-сборка пакетов, по разным причинам не включенных в поставку.
Годится чтоб не тратить время на то, что понадобилось один раз вот сейчас, или с чем хочется быстро поэкспериментировать на будущее.
А если ты промышленный почтовый сервер на много пользователей и с нетривиальной обработкой их почты (для чего и нужен exim) используешь не с самостоятельно как тебе нужно собранной версией, а с поделкой из epel - тебя ждут не дождутся на трехдневных курсах windows-админов.
ну шо продолжаем дискуссию по поводу терминирующего нуль символа?
Полезная оказывается штука, этот символ!
А сколько их ещё не нашли!
Подождем пару недель, пока какой-нибудь швед вылезет с очередной порцией символов.
Обнова будет в пятницу, чтобы админы на выходных не скучали.
RedHat не выпустил еще пакеты, доступны по ссылке https://apps.fedoraproject.org/packages/exim/builds/
очередной привет от ненужно-sni.интересно, вот каких печенек с какой волшебной травой надо наесться, чтобы этот мусор притащить еще и в mta?
Ну удобно же на одном exim получать почту на несколько доменов с разными IP и сертификатами.
еще один :-(зачем тебе разные сертификаты одного и того же сервера, принадлежащие одному и тому же юзеру на нем?
Для создания _видимости_ безопасности?
Как перфекционисту приятно же иметь наhttps://www.immuniweb.com/ssl/?id=WxGZsI4I
Не просто А+, но и compliant to PCI.DSS, HIPAA and NIST
:)
И arbitrary code execution под рутом. Бонусом. :-)
Тонизирует и заставляет отслеживать обновления :)
Бонус только для тех, у которых exim под рутом крутится, или с suid битом. А если так:ps axu
mail 29485 0.0 0.0 7876 2016 ? S Sep06 0:00 exim -bdf -q15mPS Да вообще-то уже обновился. Конфигурирование Makefile и сборка заняли ~10 минут
Выполнение произвольного кода под uid мейлера - тоже не сахар
ну вот теперь имеешь remote root. Приятно, ага.попутно кормишь товарищмайора метаинфой.
С этой точки зрения я с Ваии согласен, но есть один нюанс - у меня есть убеждение (не подкреплённые фактами правда), что для рассылок (попадание в инбокс) важно таки иметь отдельный сертификат на каждый домен.
Не, это уже про DKIM, а там совсем другая история.
DKIM вообще у всех есть - Гугл на него практически не смотрит - так маленький плюсик - сейчас у него в фаворе mta-sts.Но и сертификат отдельный на домен тоже плюс маленький я думаю.
Ну не знаю, спам я не шлю, а рассылки, на которые пользователь осознанно подписался, отлично доходят.
смотрит, но не так как ты думаешь. И да, у каждого спамера dkim - разумеется, есть.
У нормальных списков рассылки - разумеется, нет. Но обезьянки из гугля - тyпopылы чуть более чем полностью, и продолжают отбрасывать валидную почту, пропуская спам.Теперь вот требование к каждому почтовику иметь по веб-серверу. То ли тоже от тyпopылости, то ли надеются еще что-нибудь узнать о пользователях, то ли то и другое вместе.
> Но и сертификат отдельный на домен тоже плюс маленький я думаю.
вообще пох.
сделай себе dkim и можешь сэкономить на ненужно-tls. Раз уж майор один хрен знает домены, а за логами может и зайти, если понадобятся. На скор гугля вообще не влияет. Главное не забывай автоматически оформлять нешифрованные письма в "корпоративном дизайне корреспонденции". plaintext даже с dkim все чаще финиширует в папке "спам".
Вы это мне ? :)У меня рассылки подписчикам сайта никогда в спам не попадают. Годами рейтинг на senderscore.org 100.
Настроено всё разумеется spf, dkim,dmarc, ptr, smtp banner и так нравящиеся Гуглу MTA-STS, SMTP-TLSRPT (а это кстати ещё один отдельный сертификат на поддомен).
И пусть товарищ майор и знает и читает - ничего секретного в рассылках сайта нет - статьи про хрюш :)А для нужных случаев есть всё что нужно с шахматами и поэтессами (верификации Dane tlsa под DNSSEC и шифрованием s/mime)
> Как перфекционисту приятно же иметь на
> https://www.immuniweb.com/ssl/
> Не просто А+, но и compliant to PCI.DSS, HIPAA and NISTСовершенно упоротая писькомерка. Проверил свой postfix, подкрутил настройки — issues стало меньше, но общая оценка упала с A до A-. Это как так? Проверил HTTPS, подкрутил настройки — он почему-то не нашёл OCSP stapling, который как был включён, так и остался.
Ну и по алгоритмам у HIPAA и NIST весьма спорные рекомендации.
А вот сейчас обидно :(Если на странице этого теста перейти во вкладку "About" то на в низу в абзаце "acknowledgements" - в первой строчке я упомянут.
Понятно что у всех своё видение но это лучший тест в этой направленности (tls для smtp.
> Понятно что у всех своё видение но это лучший тест в этой направленности (tls для smtp.Потому что других просто нет?
> Потому что других просто нет?Почему нет ?
Есть же testssl.sh, sslyze которые умеют smtp.
Но immuniweb (бывший htbridge.com) ИМХО просто лучше !
> Совершенно упоротая писькомерка. Проверил свой postfix, подкрутил настройки — issuesну так кому - надежный почтовый сервер, а кому - писькомерку.
Эти категории почти не пересекаются.> Ну и по алгоритмам у HIPAA и NIST весьма спорные рекомендации.
ну так вам шашечки или сертификацию ? Во втором случае "спорные рекомендации" становятся бесспорными. В остальных случаях писькомерками не пользуются.
Я вообще узнал про то, что там есть SNI, только сегодня. Сильно удивился, на кой.
его скорее всего и отключить-то в распрекрасном openssl нельзя. Можно только проигнорировать результат.
Не, SNI там надо в явном виде заимплементить. SSL_CTX() и колбэк на каждый SNI hostname.
ну вот колбэки можно не регистрировать, а ненужнозаголовок оно все равно небось отправит. С дефолтным доменом, если не назначить.
Если не дергать SSL_set_tlsext_host_name, ничего не отправит. А откуда ему знать, что отправлять?
> Если не дергать SSL_set_tlsext_host_name, ничего не отправит. А откуда ему знать, что
> отправлять?что-нибудь найдут, я в них верю
если у тебя есть подходящий кусок кода - можно было бы взять да и просто проверить tcpdump'ом, шлет он этот мусор или нет.
Ога, долбоклювы прозевали, а виноват SNI. А вообще, если бы все боялись осваивать технологии из-за страха получить уязвимость, ты бы до сих пор в пещере под шконкой сидел, а не пыхтел с теплого дивана.
Сишечка православная не прощает невнимательных. :)
Интересно, вот, из общетеоретических соображений: если сконвертировать исходники на ненавидимый всеми Паскаль и скомпилировать — уязвимость будет?
нет, поскольку они и работать - тоже не будут.
Но ведь уязвимости нет, если ничего не работает!(philosoraptor.jpg)
> нет, поскольку они и работать - тоже не будут.Почему же нет? Фрипаскалем сконьпелировать статически — ещё и на линуксах правнуков будут работать.
Надо бы попробовать на чём-то.
> если сконвертировать исходники на ненавидимый всеми Паскаль..Вирт хитро улыбнулся и заказал еще попкорна
>> если сконвертировать исходники на ненавидимый всеми Паскаль..
> Вирт хитро улыбнулся и заказал еще попкорнаДелать это я не пробовал, но пишут, что можно:
Смысл то? очевидно что в более строгом языке косяков меньше, про это все знают, но толку то? ситуация сложилась так как сложилась..
хеловорд - можно.в остальных случаях ты напишешь еще один си-компилятор, с динамическими строками в том числе. И нулевой производительностью.
Ну голову-то надо иногда не только кормить?
Из общетеоретических соображений ответить на этот вопрос невозможно. Но из практических соображений можно: это будет зависеть от того, как ты будешь конвертировать.Если ты будешь использовать паскалевские строки, то выйти за границы массива тебе не удастся. Дыра таким образом заткнётся, но баг останется. И не факт, что этот баг не позволит эксплуатацию -- это уже будет зависеть от того, насколько корректно ты будешь обрабатывать ошибки в программе. И вряд ли очень корректно, если речь идёт о построчном переписывании exim.
А если ты откажешься от паскалевских строк, потому что, например, тебе не нравится сборка мусора, и ты хочешь рулить памятью под строки самостоятельно, то тут уже будет зависеть от того, как ты реализуешь строки в паскале. Скорее всего тебе ведь захочется отойти от упёртости паскаля реализуя их, и сделать что-нибудь разэдакое, в стиле:
struct c_string {
size_t size;
char str[0]; /* variable size */
};Паскаль этого не позволяет (насколько я понимаю, он не умеет в array [] of char, а если ему указать 0 в качестве размера, то он любой индекс будет считать инвалидным и отвергать с рантайм ошибкой), значит ты так или иначе включишь "unsafe" режим программирования (заюзав какие-нибудь компиляторо-специфичные вещи, вплоть до ассемблерных вставок), таким образом у тебя будут все возможности нарушить инварианты языка, и если наружу ты выставишь API изоморфный C'шному API для работы с char* (чтобы максимально просто было бы переписывать), и под этим API не будешь вставлять дополнительных проверок на размеры (большинство этих проверок ведь не нужны и тормозят выполнение программы), то ты легко при переписывании сможешь воспроизвести баг.
> и под этим API не будешь вставлять дополнительных проверок на размеры (большинство этих проверок ведь не нужны и тормозят выполнение программы)А Rust, разве, не таким же образом обеспечивает безопасность "без потери" производительности при обработке массивов?
>> и под этим API не будешь вставлять дополнительных проверок на размеры (большинство этих проверок ведь не нужны и тормозят выполнение программы)
> А Rust, разве, не таким же образом обеспечивает безопасность "без потери" производительности
> при обработке массивов?Я думаю, так же. Не уверен -- я никогда не разбирался как работают оптимизаторы паскалей. Где-то читал, что они в 70-е годы умели оптимизировать эти проверки, выкидывая их из циклов или выполняя во время компиляции, то есть C был шагом назад уже тогда. Но сам я никогда не вникал. Хоть мне не очень верится: я видел код скомпилированный из C в 90-е, и он инлайня сохранял пролог/эпилог функции, создающий/удаляющий стековый фрейм. AFAIR, примеры тому можно найти, скажем, в heroes2.exe -- там инлайнятся строковые функции, типа strlen, и они сохраняют регистры которые можно не сохранять. Мне не очень верится что такого рода компилятор мог бы справится с преобразованием кода:
for i in 0..N {
if i<N {
println!("{}", arr[i]);
} else {
fatal_error("Index out of bounds");
}
}к
for i in 0..min(N, arr.len()) {
println!("{}", arr[i]);
}
if N>=arr.len() {
fatal_error("Index out of bounds");
}Но может современные оптимизирующие компилятора паскаля так умеют? Впрочем, хз как им это может удастся, если нет возможности на функцию fatal_error повесить атрибут, говорящий компилятору, что эта функция никогда не возвращает управление.
> А Rust, разве, не таким же образом обеспечивает безопасность "без потери" производительности
> при обработке массивов?у него обычный компилятор.
А одним из великих преимуществ паскакаля (для студоты и прочих ненужно) является то что его компиляторы - однопроходные. Ведь студенту главное что - чтобы быстро-быстро скомпилилось, и можно бежать пить смузи с девочками. А о производительносни ненужноязыковых программ вообще незачем заботиться. Все равно они кроме сортировки пузырьком ничего не делают.
> А одним из великих преимуществ паскакаля (для студоты и прочих ненужно) является то что его компиляторы - однопроходные. Ведь студенту главное что -
> чтобы быстро-быстро скомпилилось, и можно бежать пить смузи с девочками. А
> о производительносни ненужноязыковых программ вообще незачем заботиться.Для новых анонимов поясню, а то пох слишком скромный:
Это были рассуждения и мысли о правильных и неправильных языках программирования от известного, активного, профессионального разработчика поха.Для модераторов и некоторых совсем-совсем уже почти взрослых анонимых защитников поха от непонятно чего:
Эта штука называется сарказм.
> Из общетеоретических соображений ответить на этот вопрос невозможно. Но из практических соображений можноА с точки зрения банальной эрудиции?
Можно попробовать сконвертировать и на Go: https://github.com/elliotchance/c2go
Есть более современая замена Vlang переводит си в V (голанг подобный).
> Есть более современая замена Vlang переводит си в V (голанг подобный).Его что, за 3 месяца резко перевели из разряда "препрепрепреальфа и много мыслей, что должно быть в зашибись языке!" в реальность?
> Можно попробовать сконвертировать и на Go: https://github.com/elliotchance/c2goДа, идея, в целом, именно такая: получится ли конвертировать сишные исходники во что-то более безопасное и собрать без потери функциональности и скорости бинарника.
Не очень понятно, зачем почтовому демону вытаскивать бекслэши из строк где-либо помимо функции чтения конфига.
Для выполнения парсером любого кода как обговорено разработчиками с ЦРУ и АНБ.
>В качестве обходного пути для блокирования уязвимости можно отключить поддержку TLS или добавить в секцию ACL "acl_smtp_mail"Спасибо что не сказали об этом сразу, а поквасили пару недель в ожидании исправления под nda. Мы ведь верим, что инфа, доведенная до мейнтейнеров дистрибутивов раньше огласки в паблике никуда не утечет.
Господи, какие же у5б*н#.
> Спасибо что не сказали об этом сразу, а поквасили пару недель в
> ожидании исправления под nda. Мы ведь верим, что инфа, доведенная дотебя тутошние вопли страдальцев с epel ничему не научили?
> мейнтейнеров дистрибутивов раньше огласки в паблике никуда не утечет.
мы верим что ущерб от нее будет в разы меньше, чем от публикации рецепта, позволяющего легко вычислить саму уязвимость, при наличии миллиона доступных серверов в интернете. Потому что менять конфиги вы не умеете, как и пересобирать пакеты своими силами. Ан масс. А спам - явление массовое.
> переменная с адресом отравителяПредложил правку, но вообще новость в таком изложении звучит как-то даже прям иначе...
В EPEL до сих пор нет нового Exim
Все так называемые ентерпрайс системы типа CentOS уязвимыИ стоит ли после этого в продакшин использовать из?)
А какое отношение Centos имеет к EPEL? Это васянский сторонний репозиторий.
Именно поэтому надо ставить нормальный дистрибутив, а не центось и потом обмазываться васяно-репозиториями и орать про стабильность
> EPEL? Это васянский сторонний репозиторий.Не васянский, а федорастический. Что не лень федоромайнтайнерам лишний раз собрать, то туда и пихают, не заботясь о качестве.
Если sni не используется имеет смысл включать?
failed to expand ACL string "${if eq{\\}{${substr{-1}{1}{$tls_in_sni}}}}": unknown variable name "tls_in_sni"
Хм, я опять в пролете?
CVE-2019-16928Шо, опять ?