Trusted Design

CVE-2021-28664 の詳細

CVEの情報

説明:
The Arm Mali GPU kernel driver allows privilege escalation or a denial of service (memory corruption) because an unprivileged user can achieve read/write access to read-only pages. This affects Bifrost r0p0 through r29p0 before r30p0, Valhall r19p0 through r29p0 before r30p0, and Midgard r8p0 through r30p0 before r31p0.

CVE更新日: 2021-05-10 15:15:07.590000

CVSSバージョン: 3.1

CVSSスコア: 8.8

KEVの情報

KEV更新日: 2021-11-03

EPSSの情報

EPSSは脆弱性が今後30日以内に悪用される確率を予測するスコアリングシステムで、FIRST(Forum of Incident Response and Security Teams)が提供しています。
EPSSのスコアが高いということは、攻撃されるリスクが高いことを意味するので、早めの対策が必要です。

EPSSスコア: 0.054070000

EPSS更新日: 2026-10-16 00:00:00

SSVCの情報

SSVCはカーネギーメロン大学ソフトウェア工学研究所が提案する脆弱性の評価手法です。ステークホルダーごとに脆弱性対応の優先度を決定することを支援します。
本サイトでは、CVE、KEV、EPSSの内容からExploitation(悪用状況)、Technical Impact(技術的影響)、Automatable(自動攻撃の可否)を判定します。

Exploitation: active

Technical Impact: high

Automatable: False

AIを使った解説

解説:

CVE-2021-28664は、Arm Mali GPUカーネルドライバに存在する脆弱性です。以下に、その詳細を解説します。

1. 脆弱性の概要

CVE-2021-28664は、Arm Mali GPUカーネルドライバにおける境界エラーに起因する脆弱性です。これにより、非特権ユーザーが読み取り専用ページへの読み取り/書き込みアクセスを獲得し、特権昇格またはサービス拒否(メモリ破損)を引き起こす可能性があります。具体的には、Mali kbaseドライバのMEM_ALIASパスでGPU_WR権限のチェックが欠如しており、攻撃者は解放されたGPUメモリページを自身のGPUアドレス空間にエイリアス化することで、GPU側から解放済み物理ページへの継続的な可視性/書き込みを確立し、use-after-freeの状態を作り出すことができます。ローカルアプリケーションはメモリ破損を引き起こし、昇格された権限で任意のコードを実行する可能性があります。

1.1 影響

  • 特権昇格
  • サービス拒否(メモリ破損)
  • 昇格された権限での任意のコード実行
  • ローカルアプリケーションがroot権限を取得したり、情報を開示したりする可能性

1.2 深刻度

CVSSv3スコア: CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H/E:H/RL:O/RC:C

  • 基本評価基準:
    • 攻撃元区分 (AV): ローカル (L)
    • 攻撃条件の複雑さ (AC): 低 (L)
    • 必要な特権レベル (PR): 低 (L)
    • ユーザーインタラクション (UI): 必要 (R)
    • スコープ (S): 変更なし (U)
    • 機密性への影響 (C): 高 (H)
    • 完全性への影響 (I): 高 (H)
    • 可用性への影響 (A): 高 (H)
  • この脆弱性は、発見時にゼロデイ脆弱性として積極的に悪用されていたことが確認されています。

2. 対象となる環境

2.1 影響を受けるOSバージョン

  • Google Android

2.2 影響を受ける設定

Arm Mali GPUカーネルドライバが影響を受けます。具体的には以下のバージョンのMali GPUカーネルドライバを搭載したシステムが対象です。 * Bifrost r0p0 から r29p0 (r30p0より前) * Valhall r19p0 から r29p0 (r30p0より前) * Midgard r8p0 から r30p0 (r31p0より前)

また、技術的な前提条件として以下の環境が影響を受ける可能性があります。 * Mali kbaseドライバのバージョンがCVE-2021-28664の影響を受ける範囲にあること(カーネルバージョンには依存せず、ドライバに依存)。 * アプリケーションから/dev/maliへのアクセスが可能であること。 * MEM_ALLOCがSAME_VAの大容量バッファをサポートし、MEM_ALIASの動作が脆弱性の説明と一致すること。 * Linuxカーネルバージョンが4.5以上(pipe_buf_operationsが導入されているため)、特に4.9から4.14で確認されています。また、F_SETPIPE_SZによりパイプを単一ページに調整できること。 * KASLRリークが存在すること:カーネルでCONFIG_RANDOMIZE_BASEが有効(arm64 >= 4.6)であり、anon_pipe_buf_opsが公開シンボルテーブルに存在すること。 * 物理アドレスモデルがarm64 + vmemmapレイアウトであること。sizeof(struct page)やページテーブルの形式は実測で確認する必要があり、仮定はできません。

3. 影響を受けた時の兆候

この脆弱性は「限定的で標的を絞った悪用」が確認されていますが、具体的なシステム上の兆候(エラーメッセージや異常な挙動など)は公開情報からは明確に示されていません。 攻撃が成功した場合、攻撃者は対象デバイスへの完全なアクセス権を獲得し、制御を奪う可能性があります。

4. 推奨対策

4.1 本対策

  • ベンダー(Arm/Google Android)から提供されるセキュリティアップデートを適用すること。Arm/Maliによって2021年に修正済みです。
  • Googleは2021年5月のAndroidセキュリティ速報で、この脆弱性に対するパッチを公開しています。

4.2 暫定回避策(緩和策)

公開情報からは、公式パッチの適用以外の暫定的な回避策や緩和策は明確に示されていません。不明

5. 他に解説すべき観点

  • CWE-ID: CWE-119: メモリ破損 (Memory corruption)。これはUse-After-Freeの脆弱性です。
  • ゼロデイ悪用: この脆弱性は、公に開示される前に限定的かつ標的を絞った攻撃で悪用された、いわゆるゼロデイ脆弱性でした。

参照したサイト

NVDサイト

NVDでCVEの詳細を見る

戻る