Bleeping Computerは1月31日(現地時間)、「Exploit released for Android local elevation flaw impacting 7 OEMs」において、Androidのローカル権限昇格の脆弱性の概念実証(PoC: Proof of Concept)コードがOEM(Original Equipment Manufacturing)メーカー7社に影響を与えると報じた。

  • Exploit released for Android local elevation flaw impacting 7 OEMs

    Exploit released for Android local elevation flaw impacting 7 OEMs

脆弱性の詳細と影響

今回、問題を指摘された脆弱性は「CVE-2023-45779」にて追跡されているローカル権限昇格の不具合。AOSP(Android Open Source Project)のAPEX(Android Pony EXpress)モジュールに対し、公開されているテスト用の秘密鍵を使用して署名していることが原因とされる。この不具合により、ローカルにいる攻撃者はAPEXアップデートを偽造してデバイスを制御できるようになる。また、脆弱性の悪用にはユーザーによる操作は必要ない(参考:「Missing signs: how several brands forgot to secure a key piece of Android | Meta Red Team X」)。

APEXモジュールを使用すると、OEM各社はOTA(Over The Air)アップデートを発行せずにOSイメージ内の特定のファイルを更新できるようになる。AndroidはAPEXモジュールのアップデートが信頼できるものかを判断するため、元のインストールバージョンと同じ鍵で署名されているか確認するが、テスト用の秘密鍵を使用した場合は誰でも更新できる状態になる。

AndroidのコアビルドシステムはOS構築時にすべてのAPEX、APK、OTAイメージを固定の「テスト用の秘密鍵」で署名する。これを回避する方法はない。OEMメーカーはリリース前にドキュメントの指示に従い、すべてのAPEXモジュールを「リリース用の秘密鍵」で再署名することで安全性を確保しなければならないが、この作業漏れが脆弱性を引き起こしたものとみられている。

この脆弱性はリモートから悪用することはできない。しかしながら、別の手段で侵入された場合は権限昇格を目的として悪用される可能性がある。

この脆弱性の影響を受けるとされるOEMメーカーおよび製品は次のとおり。

  • Asus Zenfone 9
  • vivo X90 Pro
  • Nokia G50
  • Microsoft Surface Duo 2
  • Lenovo Tab M10 Plus (Gen 3, Wi-Fi)
  • Nothing Phone 2
  • Fairphone 5

概念実証(PoC)コード

この脆弱性の概念実証(PoC)コードは、「GitHub - metaredteam/rtx-cve-2023-45779: Proof-of-concept code for the Android APEX key reuse vulnerability described in https://rtx.meta.security/exploitation/2024/01/30/Android-vendors-APEX-test-keys.html」にて公開されている。

概念実証(PoC)コードおよび脆弱性の悪用にはある程度の専門的な知識を必要とする。また、悪用にはローカルからデバイスにアクセスする必要があるため、このコードの公開が直ちに安全性に影響するわけではない。

対策

この脆弱性はAndroidの2023年12月のセキュリティアップデートにて対処されている(参考:「Androidに緊急の脆弱性、アップデートを | TECH+(テックプラス)」)。このセキュリティアップデートはAndroid 11、12、12L、13、14で利用可能になっており、速やかにアップデートすることが望まれている。