OpenWrtに「SHA-256ハッシュ値の12桁だけを使っていたせいで衝突攻撃を実行される脆弱性」が存在していたことが判明
組み込み用途向けLinuxディストリビューション「OpenWrt」のアップデートシステムに「悪意あるパッケージを本物のパッケージと誤認させられる脆弱(ぜいじゃく)性」が存在していたことが明らかになりました。SHA-256によるハッシュ生成が不適切に実装されており、ハッシュ衝突を簡単に起こせる状態になっていたそうです。
Compromising OpenWrt Supply Chain via Truncated SHA-256 Collision and Command Injection - Flatt Security Research
https://flatt.tech/research/posts/compromising-openwrt-supply-chain-sha256-collision/
Attended Sysupgrade Server CVE-2024-54143
http://lists.openwrt.org/pipermail/openwrt-announce/2024-December/000061.html
OpenWrtにはルーターの設定画面から複数回クリックするだけでファームウェアアップデートを実施できる「Attended Sysupgrade」と呼ばれるシステムが備わっています。このAttended Sysupgradeは「ユーザーのデバイス情報や希望するバージョンを元にサーバー側でファームウェアのイメージを構築し、ルーターに送信する」という仕組みなのですが、「任意のコマンドを実行できてしまう脆弱性」と「ハッシュ衝突攻撃によって悪意あるファイルを本物のファイルと誤認させられる脆弱性」が存在していることが判明しました。
問題を発見したセキュリティ研究者のRyotaK氏によると、Attended SysupgradeはSHA-256によって生成される64桁のハッシュ値のうち12桁だけを使ってパッケージを検証していたとのこと。このため、悪意あるファイルの一部を書き換えて本物のパッケージと同じハッシュ値を生成するようにする衝突攻撃が非常に簡単に実行できる状態になっていました。
RyotaK氏がGeForce RTX 4090を用いて衝突攻撃を試みた結果、1時間以内にハッシュ値を衝突させることに成功。この衝突攻撃と別途発見していたコマンドインジェクション攻撃を組み合わせて「悪意あるパッケージを本物パッケージと誤認させてAttended Sysupgrade経由でユーザーのルーターに組み込む」という攻撃が可能なことが実証されました。
RyotaK氏はすでに脆弱性をOpenWrtの開発チームに報告しており、開発チームは報告から3時間以内に修正を適用してAttended Sysupgradeのサービスを開始したとのこと。脆弱性の詳細や対応内容は以下のリンク先にまとまっています。
[OpenWrt Wiki] Security Advisory 2024-12-06-1 - OpenWrt Attended SysUpgrade server: Build artifact poisoning via truncated SHA-256 hash and command injection (CVE-2024-54143)
https://openwrt.org/advisory/2024-12-06
・関連記事
Googleがハッシュ関数「SHA-1」を破ることに成功、90日後に手法を公開予定 - GIGAZINE
来たるべき量子コンピューターの時代に向けて一般人が知っておくべき「ポスト量子暗号」の基礎知識まとめ - GIGAZINE
中国の研究者が量子コンピューターでRSA暗号の解読手法を構築 - GIGAZINE
スパコンで10の25乗年もかかる計算をわずか5分で実行できる量子チップ「Willow」をGoogleが発表 - GIGAZINE
組み込みデバイス向けOS「OpenWrt」をプリインストールした公式Wi-Fiルーター「OpenWrt One」がついに発売 - GIGAZINE
・関連コンテンツ