Дыра в xz 5.6.0
2024-03-29 13:18![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
(отсюда)
Разработчик Debian и исследователь в сфере информационной безопасности Andres Freund сообщает об обнаружении вероятного бэкдора в исходном коде xz версий 5.6.0 и 5.6.1.
Бэкдор представляет собой строчку в одном из m4-скриптов, которая дописывает обфусцированный вредоносный код в конец скрипта configure. Этот код затем модифицирует один из сгенерированных Makefile проекта, что в конечном итоге приводит к попаданию вредоносного кода (замаскированного под тестовый архив bad-3-corrupt_lzma2.xz) в бинарный файл liblzma.
Особенность инцидента состоит в том, что вредоносный код содержится только в распространяемых tar-архивах с исходным кодом и не присутствует в git-репозитории проекта.
Сообщение от Andres Freund с подробным анализом: lwn.net/ml/oss-security/20240329155126.kjjfduxw2yrlxgzm@awork3.anarazel.de/
Разработчик Debian и исследователь в сфере информационной безопасности Andres Freund сообщает об обнаружении вероятного бэкдора в исходном коде xz версий 5.6.0 и 5.6.1.
Бэкдор представляет собой строчку в одном из m4-скриптов, которая дописывает обфусцированный вредоносный код в конец скрипта configure. Этот код затем модифицирует один из сгенерированных Makefile проекта, что в конечном итоге приводит к попаданию вредоносного кода (замаскированного под тестовый архив bad-3-corrupt_lzma2.xz) в бинарный файл liblzma.
Особенность инцидента состоит в том, что вредоносный код содержится только в распространяемых tar-архивах с исходным кодом и не присутствует в git-репозитории проекта.
Сообщение от Andres Freund с подробным анализом: lwn.net/ml/oss-security/20240329155126.kjjfduxw2yrlxgzm@awork3.anarazel.de/
no subject
Date: 2024-03-29 20:43 (UTC)Ни фига себе. А отследить, откуда такие тары берутся. Красиво, впрочем.
no subject
Date: 2024-03-29 21:17 (UTC)no subject
Date: 2024-03-30 01:25 (UTC)Отследили, это один из двух наиболее активных разработчиков.
no subject
Date: 2024-03-30 06:55 (UTC)тут еще немного, timeline впечатляет
no subject
Date: 2024-03-30 07:43 (UTC)$ brew remove xz
Error: Refusing to uninstall /usr/local/Cellar/xz/5.6.1
because it is required by adwaita-icon-theme, aom, appstream, archey4, arpack, asciidoc, at-spi2-core, avrdude, awscli, boost, bpytop, curl, djvulibre, dosbox-x, dpkg, dungeon, edencommon, emscripten, enchant, far2l, fb303, fbthrift, ffmpeg, fftw, fig2dev, fizz, folly, fpm, gallery-dl, gcc, gcc@12, gd, gdb, gdk-pixbuf, ghostscript, glances, glib, glib-networking, glibmm, glibmm@2.66, gnuplot, gobject-introspection, graphene, graphicsmagick, graphviz, groff, gsettings-desktop-schemas, gspell, gtk+, gtk+3, gtk-mac-integration, gtk4, gtkmm4, gtksourceview3, gtksourceview4, gts, harfbuzz, hdf5, i686-elf-binutils, imagemagick, instead, jpeg-xl, julia, keyring, ldc, leptonica, libadwaita, libarchive, libavif, libcroco, libftdi, libgedit-amtk, libgedit-gtksourceview, libhandy, libheif, liblqr, libpeas, libqalculate, libraw, librsvg, libslirp, libtiff, libxmlb, libzip, little-cms2, llvm, llvm@11, llvm@12, llvm@15, mactex, macvim, mercurial, meson, mono, mscgen, netpbm, ngspice, numpy, open-mpi, openblas, openjdk, openjpeg, openvino, pango, pangomm, php, pmd, pngquant, poppler, pstoedit, psutils, py2cairo, pygobject3, pyinstaller, python-tk@3.10, python-tk@3.9, python@3.10, python@3.11, python@3.12, python@3.8, python@3.9, qalculate-gtk, qemu, qrupdate, qt, qt@5, qtads, riscv64-elf-binutils, sbt, scala, scons, sdcc, sdl2_image, source-highlight, sphinx-doc, suite-sparse, sundials, swi-prolog, tepl, tesseract, wangle, watchman, webp, wxwidgets, x86_64-elf-binutils, xfig, xonsh, ykman, youtube-dl, zenity, zig and zstd, which are currently installed.
no subject
Date: 2024-03-30 08:24 (UTC)Бля.
Свежачок.
no subject
Date: 2024-03-30 11:10 (UTC)no subject
Date: 2024-03-30 11:18 (UTC)FIIK; кажется, по линку расписано - там какие-то скрипты вставляют что-то в другие скрипты.
Тут ещё вопрос, конечно - а что, тестов к этому коду не положено? Если б они были, блокирование этих тестов, наверно, кто-нибудь бы да заметил.
no subject
Date: 2024-03-30 16:07 (UTC)Закладка как раз и была в заведомо плохих данных для теста, которые тест должен обнаруживать при нормальном поведении. Ну и ещё затравка в мейкфайле.
no subject
Date: 2024-03-30 18:39 (UTC)Ого. Серьёзная тема.
no subject
Date: 2024-03-30 08:21 (UTC)Ха. Китаец. Даже не скрывался за псевдонимнм, что ли.
no subject
Date: 2024-03-30 11:59 (UTC)Я не удивлюсь если Китай за этим стоит.
no subject
Date: 2024-03-30 14:09 (UTC)Да, резонно. Кто угодно может быть. Притвориться онлайн китайцем может каждый (у меня был мейловый адрес keyung-something).
no subject
Date: 2024-03-31 08:44 (UTC)Самый смак там что этот Jin нашёл проект с только одним мантейнером, да и тем больным, джва года коммитил чтобы стать своим, и потом, когда главный чувак совсем слёг, он его уломал отдать ему всё вообще по состоянию здоровья.
Параллельно он и его вирты ходили пушили Линукс-дистрибутивщиков чтобы они активнее переходили на новые версии xz.
Это всё просто гениально провёрнуто, не удивлюсь если кто-то из ихних и добавил зависимость к xz у systemd. И они почти протащили свою хреновину в xz-embedded, в это уже часть ядра Линукс.
А сколькие смогли протащить?
no subject
Date: 2024-03-30 01:26 (UTC)Товарищ не читал Кена Томпсона "Reflections on trusting trust", поэтому и попался.