🗣️

Linux向け有名パッケージxzにsshバックドアできる脆弱性が埋め込まれた問題について調べる

2024/03/30に公開

これはなに

ここ数日インターネットで騒がれたxzのセキュリティ事案について一旦自分で調べたやつです。
ついでに、こういう件の当事者(自社製品に脆弱性が見つかったり、脆弱性を発見したり)になったときどうしよう、というところも少し調べました。

xzについて調べた内容

概要と結論

  • Linux向けに広く利用されていたxzにsshでバックドアできる脆弱性が埋め込まれていた
    • 対象のバージョンはxz 5.6.0, 5.6.1
    • 脆弱性を埋め込んだ犯人が、長年xzに貢献してきた人だったため界隈で騒がれている
  • 参考になる資料

いちおう確認しておきたい人むけ

パッケージ管理システムからxzのバージョンを確認します。
brew info xzとか。

19:35 ~/work $ brew info xz
==> xz: stable 5.4.5 (bottled)
General-purpose data compression with high compression ratio
https://tukaani.org/xz/
/usr/local/Cellar/xz/5.4.5 (163 files, 2.6MB) *
  Poured from bottle using the formulae.brew.sh API on 2024-01-31 at 19:08:57
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/x/xz.rb
License: Public Domain and LGPL-2.1-or-later and GPL-2.0-or-later and GPL-3.0-or-later
==> Analytics
install: 356,083 (30 days), 778,445 (90 days), 3,046,085 (365 days)
install-on-request: 83,595 (30 days), 175,194 (90 days), 526,399 (365 days)
build-error: 1,406 (30 days)

あと以下の記事にもうちょっとちゃんとした検証の仕方が載ってたのでご共有します。
こちらでは実際に脆弱性の埋め込まれたliblzmaのバイナリを検証をしています。[1]
https://qiita.com/phoepsilonix/items/eed3d82d89851f330aab

自分が当事者になったときの資料群

ここからは余談。

脆弱性を発見したら

自社がサイバー攻撃・犯罪にあったら

脆弱性にいち早く対応するには

  • JP CERT
    • サイバーインシデントの共有をしてくれる一般社団法人
    • 一般人でも情報がもらえるほか、企業のセキュリティ担当者とかだともうちょっと重大なものとか早期の発見情報まで通知してくれる

おわりに

今回はxzの脆弱性について、本当に問題ないんだっけ? というところをまとめ直しました。
コアコミッターが脆弱性を埋め込むというのはなんとも空を見上げたくなる事案ですが、発見されたのは本当によかったです。あとWorld of Warcraftの5th Horseman事件を思い出しました。

参考資料

脚注
  1. liblzmaはxzの前身的なライブラリで、xzをインストールすると一緒に入ってくるもののようです。悪意のあるコードはliblzmaの方に入っているのだからそっちが入ってないか確かめるのが良い、ということだと思うんですが、liblzmaが単体で別のライブラリに使われているとかそういうケースがあるのかどうかは分からないため、保守的に考えるならこちらのやり方の方がいいのかもしれない。(とはいえRedHatのページとかでもxzをダウングレードせよとあるので基本的にはxzのバージョンをみるだけで良さそうとは思う) ↩︎

レバテック開発部

Discussion