commit -m "better"
2.96K subscribers
868 photos
105 videos
3 files
2.07K links
just random thoughts
Download Telegram
https://www.opennet.ru/opennews/art.shtml?num=60880
https://www.opennet.ru/opennews/art.shtml?num=60877

#xz_gate

Прекрасная детективная история про то, как несколько (или один) очень мотивированных людей встроили эксплоит в кодовую базу xz.

Не менее прекрасно и то, как эксплоит был найден:

https://mastodon.social/@AndresFreundTec/112180406142695845

"I was doing some micro-benchmarking at the time, needed to quiesce the system to reduce noise. Saw sshd processes were using a surprising amount of CPU, despite immediately failing because of wrong usernames etc. Profiled sshd, showing lots of cpu time in liblzma, with perf unable to attribute it to a symbol. Got suspicious. Recalled that I had seen an odd valgrind complaint in automated testing of postgres, a few weeks earlier, after package updates.

Really required a lot of coincidences"

А что же #stal/ix?

А stal/ix эксплоиту не подвержен, по двум причинам:

* IFUNC не работает со статической линковкой. Это ограничение не принципиально, можно и завести, но всем лень.

* Более интересная причина - потому что я проактивно борюсь с такого рода возможностью, когда сумасшедший мейнтейнер может учудить, и не беру tgz, сваренные человеком, а беру tgz, сваренные системой контроля версий (прямые ссылки на архивы бранчей и коммитов) - https://t.iss.one/itpgchannel/93.

UPD: https://github.com/tukaani-project/xz - репу закрыли :(
👍13🔥8🤯53🤨1
После этого вашего #xz_gate какие-то хаотические движения во всем open source:

Кто-то обсуждает отказ от xz.

Кто-то пилит способ воспроизвести все окружение, нужное для того, чтобы запустить эту дырень - https://github.com/amlweems/xzbot, прямо https://anekdotov.net/anekdot/all/bspkstvskrnnvsh.htm

кто-то предлагает пострипать лишние зависимости у systemd - https://www.opennet.ru/opennews/art.shtml?num=60912 Наверное, люди уже написали весь важный код, и надо писать не очень важный.

Кто-то пишет большие заметки, пытаясь срубить хайпа на великих (Кен Томпсон с его trusting trust) - https://joeyh.name/blog/entry/reflections_on_distrusting_xz/

Кто-то вендорит xz (https://github.com/Genivia/ugrep):

Making all in lzma/C
CC libviiz_a-viizip.o
CC libviiz_a-7zAlloc.o
CC libviiz_a-7zArcIn.o
CC libviiz_a-7zBuf.o
CC libviiz_a-7zBuf2.o
CC libviiz_a-7zCrcOpt.o
CC libviiz_a-7zDec.o
CC libviiz_a-7zCrc.o
CC libviiz_a-7zFile.o
CC libviiz_a-7zStream.o
CC libviiz_a-Bcj2.o
CC libviiz_a-Bra86.o
CC libviiz_a-Bra.o
CC libviiz_a-BraIA64.o
CC libviiz_a-CpuArch.o
CC libviiz_a-Delta.o
CC libviiz_a-Lzma2Dec.o
CC libviiz_a-LzmaDec.o
CC libviiz_a-Ppmd7.o
CC libviiz_a-Ppmd7Dec.o


Я вот дернул кофе, и написал этот обзор.
👍17😁8🐳62🤔2
https://leahneukirchen.org/blog/archive/2024/04/what-autoconf-got-right.html

#autohell

Годный текст про autoconf, от коллеги блоггера мейнтейнера void linux.

С чем-то я согласен, можно сколько угодно ругать autohell, но он был первым в своем классе, было бы странно ожидать, что там все было сделано правильно с первого раза:

* "Overrides are possible". В cmake они тоже есть, но не стандартизированы, и работают не всегда ожидаемым образом. В meson это, вообще говоря, боль, потому что там ничего заоверрайдить нельзя, или я не нашел, как, поэтому если попадается какой-то всратый configure test, приходится патчить сборочные файлы.

* "The config.log tells what happened" В meson/cmake лог конфигурирования - это тихий ужас, чаще всего по нему невозможно понять, что же пошло не так.

С чем-то не согласен:

* "There is support for cross-compiling and for host/target separation". Как я уже когда-то писал, в autohell/cmake нет нормальной поддержки кросс-компиляции. #cross В meson немного лучше, там есть отдельные графы для host/target сборок, и можно проверять host свойства системы отдельно. Autohell, в лучшем случае, не мешает кросс-компиляции, cmake - просто вредит ей https://t.iss.one/itpgchannel/132.

* "It has few runtime dependencies" - это просто полуправда. Для запуска configure достаточно shell, но для его регенерации нужен m4/perl, а это уже очень и очень много. С точки зрения supply chain attack configure скрипты, конечно, надо всегда перегенерировать, как показал опыт проекта #xz_gate https://t.iss.one/itpgchannel/1789.

https://lobste.rs/s/ebnqzl/what_autoconf_got_right
👍11