LINUX.ORG.RU

В коде xz версий 5.6.0 и 5.6.1 обнаружен бэкдор

 ,


4

9

Разработчик Debian и исследователь в сфере информационной безопасности Andres Freund сообщает об обнаружении вероятного бэкдора в исходном коде xz версий 5.6.0 и 5.6.1.

Бэкдор представляет собой строчку в одном из m4-скриптов, которая дописывает обфусцированный код в конец скрипта configure. Этот код затем модифицирует один из сгенерированных Makefile проекта, что в конечном итоге приводит к попаданию вредоносной нагрузки (замаскированной под тестовый архив bad-3-corrupt_lzma2.xz) непосредственно в исполняемый файл библиотеки liblzma.

Особенность инцидента состоит в том, что вредоносные скрипты сборки, служащие «триггером» для бэкдора, содержатся только в распространяемых tar-архивах с исходным кодом и не присутствуют в git-репозитории проекта.

Сообщается, что человек, от чьего имени вредоносный код был добавлен в репозиторий проекта, либо непосредственно причастен к произошедшему, либо стал жертвой серьёзной компрометации его личных учётных записей (но исследователь склоняется к первому варианту, т. к. этот человек лично участвовал в нескольких обсуждениях, связанных с вредоносными изменениями).

По ссылке исследователь отмечает, что в конечном итоге целью бэкдора, по-видимому, является инъекция кода в процесс sshd и подмена кода проверки RSA-ключей, и приводит несколько способов косвенно проверить, исполняется ли вредоносный код на вашей системе в данный момент.

Рекомендации по безопасности были выпущены проектами Arch Linux, Debian, Red Hat и openSUSE.

Разработчики Arch Linux отдельно отмечают, что хотя заражённые версии xz и попали в репозитории дистрибутива, дистрибутив остаётся в относительной «безопасности», т. к. sshd в Arch не линкуется с liblzma.


Проект openSUSE отмечает, что ввиду запутанности кода бэкдора и предполагаемого механизма его эксплуатации сложно установить «сработал» ли он хотя бы раз на данной машине, и рекомендует полную переустановку ОС с ротацией всех релевантных ключей на всех машинах, на которых хотя бы раз оказывались заражённые версии xz.

>>> Подробности

★★★★★

Проверено: maxcom ()
Последнее исправление: ilinsky (всего исправлений: 2)

Еб***й стыд… Кто там рассказывал про «тысячи глаз» которые читают исходники опенсорса?

iron ★★★★★
()
Ответ на: комментарий от Somebody
$ # xz --version
xz (XZ Utils) 5.4.4
liblzma 5.4.4

Как говорится, «Баг миловал!..» ©

Никогда нельзя быть в чём-то уверенным.

He has been part of the xz project for 2 years, adding all sorts of binary test files, and to be honest with this level of sophistication I would be suspicious of even older versions of xz until proven otherwise.

https://news.ycombinator.com/item?id=39866275

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 1)

Бэкдор представляет собой строчку в одном из m4-скриптов

Нефиг юзать автоговно, в cmake бы такое увидели сразу.

Skullnet ★★★★★
()
Последнее исправление: Skullnet (всего исправлений: 1)

инъекция кода в процесс sshd и подмена кода проверки RSA-ключей

если не поднят ssh сервер, то и пофигу? тем более что за NAT-ом

InterVi ★★★★
()

Активирующие бэкдор m4-макросы входили в состав tar-архивов релизов, но отсутствовали в Git-репозитории. При этом вредоносные тестовые архивы присутствовали в репозитории, т.е. внедривший бэкдор имел доступ как к репозиторию, так и к процессам формирования релизов.

Копротулзы озазывается ещё прекрасно подходят для сокрытия бекдоров ввиду их естественной обфусцированности и сгенерированных файлах в дистрибутиве исходников, отсутствующих в репозитории.

Пора уже используванию самого Autotools назначить CVE.

X512 ★★★★★
()
$ xbps-query liblzma
architecture: x86_64
automatic-install: yes
changelog: https://git.tukaani.org/?p=xz.git;a=blob_plain;f=NEWS
filename-sha256: b3503e1bfbda1e86620acc319b075bb9995a3d626dcda456b427119f66464e58
filename-size: 101KB
homepage: https://xz.tukaani.org
install-date: 2024-03-02 09:13 UTC
installed_size: 190KB
license: 0BSD, GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.1-or-later
maintainer: Enno Boland <gottox@voidlinux.org>
metafile-sha256: f8c645e55d166cc971763c85d07dfd1627d2c78fd25c7db249b1441394b01624
pkgname: liblzma
pkgver: liblzma-5.6.0_1
repository: https://repo-default.voidlinux.org/current
run_depends:
	glibc>=2.38_1
shlib-provides:
	liblzma.so.5
shlib-requires:
	libc.so.6
short_desc: XZ-format compression library
source-revisions: xz:ba6c7f1ffc6
state: installed
amd_amd ★★★★★
()
Ответ на: комментарий от a1ba

Нет, это релизные тарболлы которые собирает для вас мейнтейнер. Причём с выполненным autoreconf, который генерирует configure скрипт.

Это же огромная дыра в безопасности. Много ли людей проверяют что configure сгенерирован именно из исходников и туда не добавили какой-нибудь бекдор? Посути в архив с исходниками добавляют какой-то непонятный обфусцированный блоб не отслеживаемый по истории коммитов. А эту штуку ещё и от рута запускают при установке.

X512 ★★★★★
()
Последнее исправление: X512 (всего исправлений: 1)

Всё т.е.? Все арчевские серверы будут переставлять, что ли?

Ololo_Trololo
()
Ответ на: комментарий от a1ba

Много ли людей проверяют что configure сгенерирован именно из исходников и туда не добавили какой-нибудь бекдор?

Да, которой наконец-то кто-то воспользовался.

По крайней мере в Debian при сборке configure создаётся начисто.

$ man dh-autoreconf
...
The dh-autoreconf package provides a sequence addon for debhelper 7 and
is enabled by default since compatibility level 10
...

И проблема тут в другом. Требуется сборка строго из исходников (с очень редкими исключениями для особо тяжёлых случаев вроде биоса для virtualbox), и ничто не может быть подгружено из сети. Теперь очевидно, этого недостаточно. Лежащие рядом с чистыми исходниками бинарные файлы, которые используются исключительно для тестов, как оказалось, представляют реальную опасность.

gag ★★★★★
()
Ответ на: комментарий от iron

Еб***й стыд… Кто там рассказывал про «тысячи глаз» которые читают исходники опенсорса?

Так там не совсем исходники, там нечитаемая херня от системы сборки, в которую в любое место можно спрятать вирусню и никто даже не заметит. Человек который придумал autotools должен гореть в аду. Оно не только неюзабельное, медленное, переусложнённое, но ещё и магнит для вот таких проблем с безопасностью. Да ещё находятся люди, которые до сих пор его юзают в новых, сука, проектах и что-то гонят на cmake. Я даже GNU Makefile осилил, но autotools - это чудовищный мутант, который нужно выпилить из всех проектов как можно скорее.

Я вот ещё читаю опеннет и похороникс. Опять вылезли винузятники и начали гнать на Linux/BSD, что якобы в их винде безопасность ох*енна, программисты Microsoft проверяют каждую строчку, не то что в вашем open-source! Лютый парад клоунов, который не понимает что closed-source софт это уже потенциальная угроза. Винда - это рассадник бекдоров, причём наверняка часть сделана намеренно самими MS.

Skullnet ★★★★★
()
Последнее исправление: Skullnet (всего исправлений: 4)

Жесть https://git.tukaani.org/?p=xz.git;a=commit;h=6e636819e8f070330d835fce46289a3f...

git.tukaani.org / xz.git / commit

Tests: Update two test files.
author	Jia Tan <jiat0218@gmail.com>
Sat, 9 Mar 2024 05:18:29 +0300 (10:18 +0800)
committer	Jia Tan <jiat0218@gmail.com>
Sat, 9 Mar 2024 05:18:29 +0300 (10:18 +0800)
commit	6e636819e8f070330d835fce46289a3ff72a7b89
tree	21da271d93956df20640f4b51a61a98430355968
parent	a3a29bbd5d86183fc7eae8f0182dace374e778d8
Tests: Update two test files.

The original files were generated with random local to my machine.
To better reproduce these files in the future, a constant seed was used
to recreate these files.
tests/files/bad-3-corrupt_lzma2.xz
tests/files/good-large_compressed.lzma

superuser ★★★★★
()
Ответ на: комментарий от pasquale

Вы считаете нормальным собирать с помощью непонятного обфусцированного скрипта без истории коммитов, запускаемого от рута?

X512 ★★★★★
()

Он требует, чтобы sshd лежал в /usr/sbin/sshd ?

beos ★★
()
Ответ на: комментарий от hateyoufeel

Нет, там какой-то китаец два года коммитил

Не просто коммитил, а обновлял версию зонда видимо
В коде xz версий 5.6.0 и 5.6.1 обнаружен бэкдор (комментарий)

superuser ★★★★★
()
Последнее исправление: superuser (всего исправлений: 1)
Ответ на: комментарий от beos

Дырка я так понимаю изначально не работала для Haiku, но да, этим коммитом убрали стартёр экспоита. Для большей радости надо бы убрать заражённые тестовые архивы.

X512 ★★★★★
()
Ответ на: комментарий от Lrrr

Поддтвержаю - на маке при апгрейде brew идет откат: xz 5.6.1 -> 5.4.6

zh_v68
()
Ответ на: комментарий от X512

Уязвимость на самом деле серьёзная, коммитер этот судя по HackerNews за два-три года развлекался как мог и накоммитил огромную кучу комммитов, в т. ч. кучу всяких невнятных тестовых бинарей заливал, удалял. А ещё год назад спокойно отключил санитайзер.

https://github.com/google/oss-fuzz/pull/10667

Так что далеко не факт что версии 5.4.x чисты, думается в скором будущем будут проводить аудит многих компонентов и возможно найдут что-то ещё.

EXL ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Могу выдохнуть? Не 5.6.x же

Нет. Тот чел уже 2.5 года коммитит в xz, и это только обнаруженый бекдор в 5.6, а в более ранних мог быть и другой бекдор, хотя мог и не быть.

Xenius ★★★★★
()
Ответ на: комментарий от luke

- у нас есть система безопасности?
- что такое система безопасности?

sunjob ★★★★
()
Ответ на: комментарий от X512

Зачем? Если бы это был Китай, то они назвали бы своего человека John Smith, а не Jia Tan.

rupert ★★★★★
()
Ответ на: комментарий от SL_RU

Согласно новостной статье проекта openSUSE, ввиду запутанности кода бэкдора и предполагаемого механизма его эксплуатации сложно установить, «сработал» ли он хотя бы раз на данной машине, и рекомендует полную переустановку ОС с ротацией всех релевантных ключей на всех машинах, на которых хотя бы раз оказывались заражённые версии xz.

В апстриме арча пофикшено...

core/xz 5.6.1-2 (653.1 KiB 2.5 MiB) (установлено)
    Library and command line tools for XZ and LZMA compressed files
faust@Rizen53600 ~> xz --version
xz (XZ Utils) 5.6.1
liblzma 5.6.1
faust@Rizen53600 ~>

Блин, опять обломали повод переустановить свой арч.

drfaust ★★★★★
()
Ответ на: комментарий от PPP328

Ты можешь залить сам с чем-то дополнительным, но на вкладке release и tag всегда будут и автома ически сформированные архивы.

grem ★★★★★
()

В генту подлерженными уязвимости считают версии >=app-arch/xz-utils-5.4.3

Более ранние выпуски были подписаны другим человеком.

Вчера был откат на 5.4.6-r1, потом восстановили 5.4.2 и замаскировали более новые.

grem ★★★★★
()
Последнее исправление: grem (всего исправлений: 2)
Ответ на: комментарий от iron

Ага. Достаточно людей интересуется вопросом чтобы один каким-либо образом наткнулся.

cumvillain
()
Ответ на: комментарий от iron

Кто там рассказывал про «тысячи глаз» которые читают исходники опенсорса?

Бэкдор почти своевременно выявлн. Глаза работают, хотя и не идеальны.

hakavlad ★★★
()
app-arch/xz-utils
     Доступные версии:      5.4.6-r1 [M]5.6.1 [M]**9999*l {doc +extra-filters nls pgo static-libs verify-sig ABI_MIPS="n32 n64 o32" ABI_S390="32 64" ABI_X86="32 64 x32" CPU_FLAGS_ARM="crc32"}
     Установленные версии:  5.4.6-r1(09:28:42 29.03.2024)(extra-filters nls -doc -pgo -static-libs -verify-sig ABI_MIPS="-n32 -n64 -o32" ABI_S390="-32 -64" ABI_X86="32 64 -x32")
     Домашняя страница:     https://tukaani.org/xz/
     Описание:              Utils for managing LZMA compressed files
LongLiveUbuntu ★★★★★
()
Последнее исправление: LongLiveUbuntu (всего исправлений: 1)
Ответ на: комментарий от grem

восстановили 5.4.2

Нужно вообще отказаться от этого проекта, они потеряли лицо.

Shushundr ★★★
()
Ответ на: комментарий от drfaust

Не успели влезть. Только в openSUSE Tumbleweed проблалась эта версия. Я сразу накатил апдейт и теперь у меня стоит xz-5.6.1.revertto5.4-3.2.x86_64.
В Debian Sid и Fedora Rawhide этот бэкдор тоже уже пролез, но кто их использует на регулярной основе?

rupert ★★★★★
()
Ответ на: комментарий от rupert

В Debian Sid

Вроде бы как и в testing пробрался. Но комент тот же.

einhander ★★★★★
()
Ответ на: комментарий от Skullnet

Это великолепно.

Новость: в линуксячьи сорцы приделали прицепом зловред через кошмарную говносистему сборки, спасибо ГНУ и наследию божественного юникса.

Комментатор: бла-бла-бла-БЛА-БЛА КЛОЗЕД СОРЦ УГРРРОЗА ВЕНДА РРРАССАДНИК БЭКДОРОВ!!!

P.S. Оказывается, m4 сделали те самые Ритчи с Керниганом. Вот же легендарные чуваки.

thesis ★★★★★
()
Последнее исправление: thesis (всего исправлений: 1)

полную переустановку ОС

Прям как в божественной десяточке …

ivanich10
()
Последнее исправление: ivanich10 (всего исправлений: 1)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.