В репозитории проекта xz продолжают всплывать изменения, внесённые автором бэкдора для блокирования механизмов защиты. В сборочном сценарии CMakeLists.txt выявлено изменение, не позволявшее использовать в xz механизм изоляции приложений Landlock, при его поддержке в системе. В коде на языке Си, проверяющем доступность системного вызова Landlock, была намеренно добавлена лишняя точка, что приводило к непрохождению проверки на наличие Landlock при любых условиях...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=60888
Лучше и другие пакеты тоже проверить на таких типов
> Лучше и другие пакеты тоже проверить на таких типовКаких именно? Эти полорогие-парнокопытные не подписываются ...
Ну и да, судя по бурным обсуждениям на опеннете - походу многие опеннетчики "патчи от Минесотовцев" уже или подзабыли или не сделали совершенно никаких выводов, все еще свято веруя в Великую Силу "Тысячеглаза".
А ведь тысячиглаз работают и мы обсуждаем найденную ими закладку
> А ведь тысячиглаз работают и мы обсуждаем найденную ими закладкуУгу, но только в какой-то альтернативной реальности.
А тут мы "обсуждаем" (ну, как на опеннете принято, т.е. больше с уклоном в "как нужно было правильно!" и "да я б, да если б встал с дивана, то ух ...!") найденное уже "задним числом" (т.е. когда уже знали, что нужно искать).И "оригинал" нашел совсем не Тыщиглазовец при проверке коммита или перепаковке-добавлению-обновлению в формат пакета <вставить любой дистр Тысячеглазов>, а "жалкий раб(отник) Маздайцев" - и полез искать он "по симтомам" (тупило при логине и сыпало ошибками в валгринд).
По каким критериям он не проходит в ряды Тысячеглазовцев?
>> при проверке коммита или перепаковке-добавлению-обновлению в формат пакета <вставить любой дистр Тысячеглазов>, а "жалкий раб(отник) Маздайцев" - и полез искать он "по симтомам" (тупило при логине и сыпало ошибками в валгринд).
> По каким критериям он не проходит в ряды Тысячеглазовцев?Где-где были Тыщиглазовцы, когда коммитился сначала сам бэкдор, а потом и "фиксы" ошибок в нём (повторюсь еще раз - "кандидат в Тыщиглазовцы" полез искать "что не так" из-за "тупняков" бэкдора)? А, они растаскивали бэкдоры прилежно по дистрам и надеялись на других Тыщиглазовцев?
Я ж не зря Миннесоту упоминал, но вы повторяйте про халву^W силу Тыщеглаз, игнорируя "неудобные" факты ...
Ну это так работает - находят не все сразу, а кто-то один первый.
> Где-где были Тыщиглазовцы, когдаОчевидно, искали проблемы в других пакетах. Или вы думаете, что тысячаглаз ищет проблемы только в xz?
А что там про Миннесоту, кстати?
Если быть честным - тысячепользователи, а глаз которые следили за разработкой наверняка на одной руке можно пересчитать.
Когда MS находит дыру - они часть великого сообщества. Во всех остальных случаях - враги опенсорса. Не перепутайте.
>Когда MS находит дыруДыру нашла не MS.
>>Когда MS находит дыру
> Дыру нашла не MS.дыру нашел разработчик на зарплате от MS. Живи теперь с этим.
Если этот человек убьёт кого нибудь, то это M$ станет убийцей, т.к. этот человек у неё на зарплате?
Если этот человек не занимает в M$ должность, связанную конкретно с поиском уязвимостей в системах на Линуксе, M$ к данному обнаружению бэкдора не имеет никакого отношения.
Так первый нашедший бывает только один
Тот, кто нашел уязвимость, сказал, что это была цепь случайностей, что он наткнулся на бяку. А сколько нас ждет ещё открытий чудных, которые оставили для подслеповатых тысячеглаз эти анонимы-мэнтейнеры, нагенерировавшие себе никнеймов и пролезшие в проекты... Остается надеяться на новые "цепочки счастливых случайностей"
А это фундаментальный недостаток всех централизованных репозиториев типа Cargo - какой-нибудь "полезный" пакет типа выравнивания отступов из двух строчек включен в зависимости тысячи других пакетов и тем самым становится желанной целью атакующего. Получить к нему доступ, как мы убедились на примере xz, это дело техники.
> Тот, кто нашел уязвимость, сказал, что это была цепь случайностей,Угу, цепь счастливых случайностей. Он не "решил проблему" перезапуском контейнера, рестартом виртуалки, линейным скейлингом.... взял и полез... разбираться!
Вот это - и правда неимоверно счастливая случайность.
(а то что этот чувак работает на MS - закономерность)> никнеймов и пролезшие в проекты... Остается надеяться на новые "цепочки счастливых
> случайностей"ну, в принципе, в MS еще остались вменяемые кадры. Немного, но держатся.
Работает?Закладку нашли через исследование поведения в первую и основную очередь.
В исходниках её никто не видел, пока не начали копать.
Тысяча глаз, ржу.
Не работает. Мы обсуждаем случайно найденную дыру. Напомню - ее нашли не в результате аудита, а из-за кривого инжекта бэкдора, который слишком много жрал и лагал, а если бы был поптимизированее - никто бы и не мяукнул.
«Тысячи глаз» это не аудит
bzip2, gzip не могли похакать? Обязательно привычный xz надо коцать.Тьфу,шлеп-шлеп - я ушел от вас.(
А вы уверены, что их не похакали? Может их просто ещё не дошли руки у кого надо проверить?
видел твой коммент, что ты теперь будешь начисто переставляться. а я говорил еще пару лет назад, что нарушение принципа KISS и UNIX way в systemd приведут к проблемам безопасности.
Вот если по конкретному инциденту. Предлагаешь отказаться от сжимальщиков и архиваторов?
Хм... уточни пожалуйста про какие нарушения KISS и UNIX way ты говоришь?
Про то, что очень важную либу пилит какие-то полтора васяна, половина из которых вообше анон взявшийся из ниоткуда?
Или про то, что в это важной либе используются отрыжки из прошлого века в виде м4 скритов?
Или про то, в итоге это вызывает нечитаемое уродство в виде баш-портянок, которые как оказалось попахивают?
> отрыжки из прошлого века в виде м4 скритовНу, вообще-то, в данном топике обсуждается изменение в CMakeLists.txt
Не в M4 дело, а в том, что:
1. Критичные для функционирования системы службы - сложные, со множеством зависимостей от сторонних компонентов и неявными связями.
2. Сторонние компоненты по вполне объективным причинам не имеют собственного унифицированного механизма контроля ("базар" же) и при использовании как 3rd party не проходят внешнего аудита.Поэтому данная атака - это не пробой какой-то уязвимости, это пробой в целом модели базара
Systemd нужно первым переписать на Rust.
gzip в руках идейных. Хотя, после травли и ухода Столмана туда могли проникнуть сомнительные личности.
Хаха))
А кто-то в соседней теме хвалился про то, что "тыщща глаз таки работает!"
Сколько им открытий чудных еще готовит разбор коммитов того чела?
Ну вот, очеыидно же, работает. Нашли.
А сколько найдут? А сколько не найдут? А сколько найдут и не покажут? (не только корпорастам скрывать свои двери)
Пока оно глючить не начало, тысячеглаз ничего не видел.Был бы анбшник чуть поумнее, сообщество так бы и оставалось тысячедырником.
Зато пользователям проприетари хорошо и удобно: благостное существование тысячи дыр в этом ПО не зависит от ума анбшников и самих пользователей.
какие-то невнятные претензии, тысячаглаз сработал ? сработал
а шутки про глупого анбешника оставь поклонникам мелкомягкого и их продукту, куда не то что взор тысячеглаза пробиться не может, а и око тысячеденег быстро иссякает в дебрях индусского кода.
> а шутки про глупого анбешника оставь поклонникам мелкомягкого и их продукту, кудано... это был... сотрудник корпорации зла...
(внезапно, у той больше одного продукта. В том числе - и azure cloud)
> В коде на языке Си, проверяющем доступность системного вызова Landlock, была намеренно добавлена лишняя точканравится мне этот парень с тайваня... красиво работает.
Программистские тесты не писал,если так по-детски спалился?
с северной кореи он, зачем тайваню это?
1. В Северной Корее интернета нет.
2. А если он там есть, значит, официальная пропаганда США распространяет недостоверные данные. Такого быть не может, так что см. п. 1.
Зато в северной корее есть северные корейцы , которые по заданию партии могут пмжествовать в любой точке мира .
Есть там выход в интернет, просто он кого надо выход и все кто по службе выходят делают это в присутствии верных товарищей с табельным оружием. Ну чтоб там порнобаннер не словить например.
Фигасе, какие умные северо-корейцы: с ограниченным интернетом имеют такие глубокие знания в программировании, бэкдурописании, вирусописании... Вот игил (запрещенная в России террористическая организация), имея неограниченный выход в интернет таких познаний совсем не имеет. Что же будет с миром, если хотя бы 20% северо-корейцев смогут выходить в интернет???
В игил не учат математику, а в С.Корее учат - см. Ланькова.
Ланьков до сих пор числится в Южно-Корейском отделе ФСБ, или он уволился? Ах да, впрочем бывших осведомителей небывает.
> Фигасе, какие умные северо-корейцы: с ограниченным интернетом имеют такие глубокие знания
> в программировании, бэкдурописании, вирусописании... Вот игил (запрещенная в России террористическая
> организация), имея неограниченный выход в интернет таких познаний совсем не имеет.
> Что же будет с миром, если хотя бы 20% северо-корейцев смогут
> выходить в интернет???Нужные книжки и ресурсы они там потихоньку выкачивают, не волнуйся за них. Даже свой самопальный Линукс сделали, причем с колоритными модификациями.
Ну а то что развлекательное ничего не доступно и даже порно только в погонах - ну таковы лишения от борьбы с "мировой закулисой".
И все равно получается, что они умные.
Что же будет, если их в сеть выпустят???
> И все равно получается, что они умные.
> Что же будет, если их в сеть выпустят???Советские сумрачные ученые тоже в шарашках клепали супероружие. Запад тоже думал "а что будет если их выпустить в свет?". Как выяснилось ничего (страшного).
В СССР хакеров не было, даже некоторые компьютеры были подключены к арпанет.
>Фигасе, какие умные северо-корейцыА еще они снарядов могут клепать больше, чем все страны развитого капитализьма во главе в гегемоном вместе взятые. Что-то тут не так.
>>Фигасе, какие умные северо-корейцы
> А еще они снарядов могут клепать больше, чем все страны развитого капитализьма
> во главе в гегемоном вместе взятые. Что-то тут не так.ну так вместо выращивания нежных личностев и уточнения как к Оно обращаться - там пилят снаряды в четыре смены. Кто плохо пилит - не получает свою пайку риса и волен сдохнуть с голодухи. Новых нарожают! (кто плохо рожовывает - ну ты понял, ага)
Кто хорошо пилит - получает полторы пайки риса, и с голодухи подыхает гораздо медленней.
Поэтому когда ему скажут сдохнуть во имя Кима - он это сделает с радостью и гордостью - ведь так гораздо лучше, чем дальше жить впроголодь.А эти, в развитом капитализме - очень любят послужить в армии, форма красивая, зарплата нормальная, ништяков сверх нее масса падает... но вот как где-то даже далеко война - так хоть увольняйся.
А уж на заводе работать - ну разумеется только в дневную смену, с перерывом на качалку и медитацию (и еще семь положенных молитв в день, конечно)
Осталось исправить master на main, и все saboteurs сразу устыдятся содеянного, и сами откатят свои вредности!
А что эта точка значит в CMake?
возможно сокращение от "вкусно и точка"
Вот они и спалились .
Точнее, работодатель товарища майора.
Чтобы код внутри check_c_source_compiles("<код>") не скомпилировался. До точки там был код, который не собирается только если в linux-headers в системе сборки нет SYS_landlock_create_ruleset. После точки он вообще никогда не скомпилируется, как если бы landlock вообще ни в одной системе нет
Да это понятно. Я про синтаксис. Что в С/CMake это означает? Почему не летит ошибка синтаксиса и т.д
Ничего не значит. Ошибка синтаксиса и код не компилируется... И поэтому проверки отключаются.
Это не в CMake точка, он её добавил в C коде, который передаётся в CMake функцию check_c_source_compiles(), то есть (пытаться) конпелировать это будет не CMake, а C компилятор.
> что приводило к непрохождению проверки на наличие Landlock при любых условиях.Интересно, почему не было тестов на данный функционал?
"Механизм изоляции приложений" звучит достаточно важно чтобы быть покрытым тестами.Так бы хоть у кого-то возникли бы вопросы? Или так такое не принято?
У Линуса, походу, вообще никаких тестов нет. Фин тянет в свою поделку любую шнягу. Оттого поделка вся дырява насквозь.
> В коде на языке Си, проверяющем доступность системного вызова Landlock, была намеренно добавлена лишняя точка, что приводило к непрохождению проверки.
А с чего взяли что намеренно?
В программах на СИ постоянно забывают проверять размер буфера или делают double free.
Любой человек может ошибится, это нормально и совершенно не зависти от языка, честно-честно!
Надо просто посмотреть, кем. Неужели нельзя вывести список всех изменений, к которым причастен этот аккаунт? А, нельзя, Майкрософт же заметает следы.
Такие программы надо писать читабельном и удобном для сопровождения языке V.
Вот в таком виде https://git.tukaani.org/?p=xz.git;a=commitdiff;h=f9cf4c05edd... ? и даже с комментарием ?Вообще ни разу не палево.. хоть бы чтото еще поправил, чтобы оно реально смахивало на случайность.
Так это удаление ошибки, а добавили код с ошибкой в https://git.tukaani.org/?p=xz.git;a=commitdiff;h=328c52da8a2...
Или я в глаза долблюсь, или тут нет добавления той точки.
почти в самом верху:+ #include <sys/prctl.h>
+.
+ void my_sandbox(void)
Поскольку добавление точки нашлось... не могу не спросить, зачем вы так со своими глазами?
Вот все матерятся на паскаль, а там строгая типизация и FastMM/HeapTrc, так что я по сути даже не знаю, что такое искать утечки памяти. Окошко с утечкой выскакивает сразу же, как только я ее допускаю. А это зачастую является сигналом о наличии более серьезных косяков. А ненавидят паскаль наверное те быдлокодеры, которым он не дает свести все типы в программе к int/uint и пропихнуть боинг 747 в функцию, которая ожидает блоху.C++ кончно мощный и позволяет по сути изобрести свой мета-язык из макросов. Но мне как то неуютно. Вот напишу я прогу на 100500 строк на gcc. Как я потом там буду искать все эти утечки памяти?
Я видел код ужас от студентов.
Текло это жесть как.
И никакой мифический паскаль не спасал
> Вот напишу я прогу на 100500Вот и сам же написал причину.
Дело не в языке, а в том что hello world-ы пишешь
Паскаль немного устарел, лучше на Microsoft Power Fx писать.
>> В коде на языке Си, проверяющем доступность системного вызова Landlock, была намеренно добавлена лишняя точка, что приводило к непрохождению проверки
> .
> А с чего взяли что намеренно?
> В программах на СИ постоянно забывают проверять размер буфера или делают double
> free.
> Любой человек может ошибится, это нормально и совершенно не зависти от языка,
> честно-честно!Потому что эта "ашипка" - одна из череды вредоносных изменений от автора бэкдора
Какой интересный язык. Добавил просто точку - получил изменение логики.
а как вам язык где балом правит запятая ?
"Казнить нельзя помиловать"
Причём тут язык? В CMake функция `check_c_source_compiles` проверяет только то, что переданный в неё сишный код компилируется и линкуется. Добавили в тестовый код лишнюю точку → код стал невалидным → тест на компилируемость перестал проходить → фича, наличие которой определялось попыткой скомпилировать тестовый код, стала считаться отсутствующей.
> разработчики языка Си не озаботились указать какие размеры имеют char, short, int, long int, long longИменно потому С можно адаптировать для любой мыслимой архитектуры и платформы. И никогда никому это не мешало, поскольку в языке есть заголовок <stdint.h>, объявляющий типы фиксированной ширины.
Какой из языков и какой логики?
> Какой интересный язык.Одна точка (.) - текущий каталог, две точки (..) - ссылка на каталог выше. Этому "языку" уже сто лет в обед.
Ты серьезно веришь, что если бы там был check_rust_source_compiles это что-то поменяло бы? Наивный.
В Rust не производят проверку наличия фич методом компилируется код с ней или нет)
Всё же не надо отрицать что механизм пробинга в autoconfig - отвратительная дичь, которая была сделана просто потому что разработчики языка Си не озаботились указать какие размеры имеют char, short, int, long int, long long, и стандартизировать механизмы расширения компилятора.
Единственное, чего я не понял из имеющихся на данный момент результатов реверсинга - где именно бэкдор умудряется проводить 0.5 секунды.
В поиске строк в таблице
То есть там O(n^2) наверно?
Там не таблица, а простенький FSA. Даже если бы оно было написано на Python, оно бы не нажрало 0.5 секунд.
>В сборочном сценарии CMakeLists.txtЯ не понял, там autotools или CMake? Или там настолько долбанулись, что им ещё Meson, Basel и Buck не помешали бы? Взять и закопать этот xz.
>дополнительно вызывающий prctl для проверки.Сразу ффтопку - машина, на которой производится сборка не является машиной, на которой производится исполнение. Более того, пакеты шарятся между всеми ядрами и хардкодинг использования или неиспользования landlock приведёт лишь к тому, что либо на ядрах без него программа будет падать, либо на ядрах с ним он будет незадействован. Абсолютно непрофессиональная проверка, за которую и так надо гнать вон из профессии.
Он похоже профессионал в другой области.
> Сразу ффтопку - машина, на которой производится сборка не является машиной, на которой производится исполнение.А вот это неважно. Эта машина на которой прописываются нужные зависимости.
Если машина будет ставить такой пакет, то зависимости установятся автоматически.
Так что ваши корни выросшие в другой ОС просматриваются.
Спасибо, мне нафиг не надо, чтобы какой-то xz-utils решал, какой версией ядра мне пользоваться.
То есть они только сейчас начали проверять все коммиты данного персонажа и выявляют все новые приколы? Мне казалось очевидным что все сделанное Jia Tan по умолчанию вредоносно.
Сама идея "проверить наличие пакета X" и на основе этого "включать/не включать функциональность Y" выглядит ... (как бы помягче...) несколько неразумной.
В доках landlock и правда советуют использовать сисколл https://docs.kernel.org/userspace-api/landlock.html#landlock..., потому что действительно, это опциональная фича, которая может быть отключена в коммандлайне ядра. Вот только это относится к запуску программы, а не к ее компиляции. Если при компиляции хедер есть и линковка отрабатывает, то что еще надо-то?Так что да, весь этот патч изначально запилен с целью отключить landlock. И очевидно что его никто не ревьюил (по крайней мере никто компетентный), потому что как такое можно пропустить?
Саботажников в опенсорце и так хватает, многие из них не прячутся и не скрываются, а гордятся свой работой.Тут кто то старался и впиливал бэкдор, а они стараются и не впиливают патчи потому что они им не нужны или не нравятся или они этим не пользуются, или втаскивают всякую хрень нужную только им и мешающую остальным.
Если у опенсорца нет денег чтобы заплатить разработчикам за то что нужно придется кушать то что дают и тешить ЧСВ программистов которых бы на другом проекте выгнали тряпками.
ты что - так и не научился до земли кланяться, а не только в пояс?
Ну блин, никто ж не требует от тебя, столетнего деда, молодецкой гибкости! Становись на колени, аккуратненько, коленки старые, повредишь быстро плюхаясь. И из этой позы - лобешником в грязь под ногами гениального "разработчика" - шмяк! Вот! И так три раза! (если дотянешься - можешь еще и поцеловать туфлю! Только не разгибайся, могут принять за нетолерантность, а так ползи!)И ему удовлетворение, и тебе польза - патч повертят-повертят на ...ую, заставят пару-тройку раз colour на color поменять и обратно - да и примут!
А может кто-нибудь внятно объяснить, почему какая-то сжималка требует доступ к низкоуровневым особенностям ядра и глибц (которые сами по себе уже являются глубоко системными компонентами), но проблемой считается не это, а то, что эти особенности используются неправильно?Из многочисленных последних тредов про xz так и не понял, почему хелло-ворлд, требующий экзотических системных вызовов, работающих даже на линуксе не на каждой версии, не вызывал никаких подозрений, пока кто-то не открыл глаза и не увидел, что там куча уязвимостей? Ну требует хелло-ворлд подмены функций на уровне глибц и экзотических системных вызовов - ачотакова?
ну тебе же это не открыло глаза до выхода новости? Ну вот и остальным то же самое.
Всё так и есть. Но видимо всем просто пофиг на xz. А выкинуть из зависимостей его забыли.
Эээ.... Арчлинуху передайте инфу. Они же пакет не откатывали, а только перестроили и про лишнюю точку не в курсе, наверно.
>В сборочном сценарии CMakeLists.txtЛица кричавших про нечитаемые m4-скрипты в угоду симейку - к осмотру.
В автоконфе точно такой же способ сработал бы прекрасно, сюрприз.
Но в автоконфе я бы спрятал через divert, там и в корректном-то коде без поллитры не разберешься
> Но в автоконфе я бы спрятал через divert, там и в корректном-то
> коде без поллитры не разберешьсякак будто в Cmake ты разберешься. Не говоря уже про питоноуродцев.
Но вот пропихнуть патч с таким divert - удастся только в том случае, если ты сам и есть тот кто его примет, и не найдется никого кто посмотрит и задаст удивленный вопрос - "какого, собственно?"
Поскольку торчать он будет как х-й во лбу.
(разумеется, исключая сценарий когда ты умеешь что-то кроме вредительства и 99% большого патча реально решают чьи-то проблемы, а эта мелочь идет в довесок. Но здесь совсем иной случай. Товарищ особо даже и не прятался. Пипл схавает.)
> тест всегда завершался неудачей.И? Код был сломан, тест был сломан. То что это никто не проверял - не проблема языка. В отличие от всяких там убожественных умирающих ЯП, изобилующих спец-символами и где "каждая строка - это валидное выражение".
Херовая проверка на наличие функций в заголовке. В CMake проверка делается через check_symbol_exists(), а не эту херню с check_c_source_compiles(). Понятно, что этот саботажник сам так и написал, да еще херню придумал, что по хедеру не проверить наличие возможностей.
Технически красиво конечно сделано со всей этой криптографией и занос скрипта прямо в открытый сырец, прямо музейный экспонат, но удивляет другое. Как методично всё протащили, и даже мантейнера,учитывая что коммиты были не особо нужные. Иные проекты попробуй убеди твой патч принять, если только он не как на ладони багу фиксит, а тут какой-то треш, да ещё и во все дистры сразу... Как бы да, нормального леща прописали.
Однако не спешим хихикать, в закрытый сырец такое бы внесли моментально и никто бы не нашёл никогда.
> Иные проекты попробуй убеди твой патч принять, если только он не как на ладони багу фиксит,
> а тут какой-то треш, да ещё и во все дистры сразу...в точности наоборот: почти любые проекты невозможно убедить патч принять, особенно если он багу фиксит - это ж главному разработчику прожекта прям игла в задницу - КАК, У МЕНЯ БАГИ?! И НЕ Я нашел?!
Порежьте помельче и переподайте с тройным поклоном, и не поясным, а земным!
А такую вот дрянь - принимают на ура. Как и наезды на недостаточную толерастность майнтейнера, впрочем. (Смотри не перепутай - наедешь на недостаточность квалификации - самого заканселят! Как можно, он же аутист и ОНО!)
> Однако не спешим хихикать, в закрытый сырец такое бы внесли моментально и никто бы не нашёл
> никогда.угу, у корпорации-зла ж ни code review, ни разборов полетов по четвергам, ни раздачи pink slip по пятницам. Сиди себе, пили бэкдоры, только не увлекайся, чтобы успевать деньги загрести лопатой, пока ими не засыпало с головой.
Роса Линукс забэкдорена: https://abf.rosalinux.ru/platforms/rosa2023.1/products/428/p...