🗣️
Linux向け有名パッケージxzにsshバックドアできる脆弱性が埋め込まれた問題について調べる
これはなに
ここ数日インターネットで騒がれたxzのセキュリティ事案について一旦自分で調べたやつです。
ついでに、こういう件の当事者(自社製品に脆弱性が見つかったり、脆弱性を発見したり)になったときどうしよう、というところも少し調べました。
xzについて調べた内容
概要と結論
- Linux向けに広く利用されていたxzにsshでバックドアできる脆弱性が埋め込まれていた
- 対象のバージョンはxz 5.6.0, 5.6.1
- 5.6.1が最新なので一般的なLinuxディストリビューションでは利用されてないっぽい
-
RedHatの一部ディストロ以外は問題ない- こちらの記事が正確
- 脆弱性を埋め込んだ犯人が、長年xzに貢献してきた人だったため界隈で騒がれている
- 対象のバージョンはxz 5.6.0, 5.6.1
- 参考になる資料
- 嶋田大貴さんのポストがちょうどよくまとまっててよかったです
- Redhatの解説記事もだいぶわかりやすかったです
いちおう確認しておきたい人むけ
パッケージ管理システムから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]
自分が当事者になったときの資料群
ここからは余談。
脆弱性を発見したら
-
届出・相談・情報提供 - IPA
- IPAの相談窓口
- 報告先としては他にもベンダーに報告するとかもある
-
実録 脆弱性発見から報告まで 〜CVE 保持者になりたくて〜
- 脆弱性を発見して報告までやった記事
-
バグ見つけて賞金を稼ぐ「バグバウンティ」。数字から読み解く「バグハンター」の世界
- 弊社記事。単純に面白い。弊社のオウンドメディア、マジで面白いやつめっちゃあるからおすすめです。
自社がサイバー攻撃・犯罪にあったら
-
サイバー攻撃被害情報の共有と公表のあり方について(公開版)
- 自社がサイバー攻撃の被害を受けたときの公表について
-
ソフトウエア製品開発者による脆弱性対策情報の公表マニュアル
- 自社ソフトウェアに脆弱性が認められたとき
脆弱性にいち早く対応するには
-
JP CERT
- サイバーインシデントの共有をしてくれる一般社団法人
- 一般人でも情報がもらえるほか、企業のセキュリティ担当者とかだともうちょっと重大なものとか早期の発見情報まで通知してくれる
おわりに
今回はxzの脆弱性について、本当に問題ないんだっけ? というところをまとめ直しました。
コアコミッターが脆弱性を埋め込むというのはなんとも空を見上げたくなる事案ですが、発見されたのは本当によかったです。あとWorld of Warcraftの5th Horseman事件を思い出しました。
参考資料
- 記事
- 発端になった報告ページ
-
Redhatの解説記事
- 概要についてはここが一番わかりやすい
- Xでのポスト
- 当事者になったときの資料群
- 森田が思い出したもの
-
liblzmaはxzの前身的なライブラリで、xzをインストールすると一緒に入ってくるもののようです。悪意のあるコードはliblzmaの方に入っているのだからそっちが入ってないか確かめるのが良い、ということだと思うんですが、liblzmaが単体で別のライブラリに使われているとかそういうケースがあるのかどうかは分からないため、保守的に考えるならこちらのやり方の方がいいのかもしれない。(とはいえRedHatのページとかでもxzをダウングレードせよとあるので基本的にはxzのバージョンをみるだけで良さそうとは思う) ↩︎
Discussion