Ubuntu 20.04 LTS / 22.04 LTS : GRUB2 の脆弱性 (USN-6355-1)

high Nessus プラグイン ID 181178

概要

リモート Ubuntu ホストに 1 つ以上のセキュリティ更新がありません。

説明

リモートの Ubuntu 20.04 LTS / 22.04 LTS ホストには、USN-6355-1 のアドバイザリに記載されている複数の脆弱性の影響を受けるパッケージがインストールされています。

- shim が細工された EFI 実行可能ファイルをロードして実行しようとするときに、handle_image() にオーバーフローの可能性があります。
handle_image() 関数は、ロードされる各セクションの SizeOfRawData フィールドを考慮しています。攻撃者がこれを悪用して、メモリに対して領域外の書き込みを実行する可能性があります。このようなシナリオでは、任意のコードの実行が破棄されません。(CVE-2022-28737)

- 細工された 16 ビットグレースケール PNG 画像により、ヒープ領域の領域外書き込みが発生する可能性があります。攻撃者がこれを利用して、ヒープデータの破損や最終的には任意コード実行を引き起こし、セキュアブート保護を回避する可能性があります。この問題は、攻撃者が重要な結果を達成するには、ヒープレイアウトに対して何らかのトリアージを行う必要があるため、悪用するのは非常に複雑です。また、メモリに書き込まれた値が連続して 3 回繰り返され、有効なペイロードを生成することが困難になります。この欠陥は、grub-2.12 より前の grub2 バージョンに影響を与えます。(CVE-2021-3695)

- PNG リーダーでの Huffman テーブルの処理中に、ヒープ領域外書き込みが発生する可能性があります。これにより、ヒープ空間でデータ破損が発生する可能性があります。攻撃者が破損した Huffman エントリのエンコーディングおよび配置を制御して、任意のコードの実行やセキュアブートの回避などの結果を達成するのが非常に複雑であるため、機密性、整合性、可用性への影響については、重要度低と見なされる可能性があります。この欠陥は、grub-2.12 より前の grub2 バージョンに影響を与えます。(CVE-2021-3696)

- 細工された JPEG 画像により、JPEG リーダーがデータポインターをアンダーフローさせ、ユーザー制御のデータをヒープに書き込めるようにする可能性があります。攻撃者が成功するには、ヒープレイアウトに対して何らかのトリアージを行い、悪意のあるフォーマットとペイロードで画像を作成する必要があります。この脆弱性により、データ破損や最終的なコードの実行やセキュアブート回避につながる可能性があります。この欠陥は、grub-2.12 より前の grub2 バージョンに影響を与えます。(CVE-2021-3697)

- grub2 に欠陥が見つかりました。grub.cfg として知られる構成ファイルが誤った権限設定で作成され、権限のないユーザーがそのコンテンツを読み取る可能性があります。これらのユーザーは最終的に grub.cfg にある暗号化されたパスワードを読み取ることができるため、これは重要度の低い機密性の問題です。
この欠陥は、grub2 2.06以前のバージョンに影響を与えます。この問題は、grub の上流で修正されていますが、現在、修正を含むバージョンはリリースされていません。(CVE-2021-3981)

- grub_net_recv_ip4_packets の整数アンダーフロー: 悪質な細工された IP パケットにより、rsm->total_len 値の「grub_net_recv_ip4_packets()」関数において整数アンダーフローが発生する可能性があります。特定の状況で、total_len 値が小さな整数にラップアラウンドし、その値がメモリ割り当てに使用される可能性があります。攻撃がこのような方法で成功すると、後続の操作でバッファの終端を越えて書き込みを行う可能性があります。(CVE-2022-28733)

- 分割 HTTP ヘッダーを処理する際の領域外書き込み: GRUB2 の HTTP コードは、スプリット HTTP ヘッダーを処理する際に、内部のデータバッファのポイントを誤って 1 つ移動させます。これにより、HTTP リクエストの解析時にさらに領域外書き込みが発生し、バッファを超えて NULL バイトを書き込む可能性があります。攻撃者が制御するパケットのセットによって、GRUB2 の内部メモリメタデータの破損が引き起こされる可能性があると考えられます。
(CVE-2022-28734)

- GRUB2 の shim_lock 検証により、カーネル以外のファイルが shim でセキュアブートされたシステムで読み込まれる可能性があります。
このようなファイルのロードを許可すると、検証されていないコードやモジュールが GRUB2 でロードされ、セキュアブートのトラストチェーンを破壊する可能性があります。(CVE-2022-28735)

- grub_cmd_chainloader() 関数にメモリ解放後使用 (Use After Free) の脆弱性が存在します。chainloader コマンドは、マルチブートをサポートしておらず、GRUB2 からの直接のサポートがないオペレーティングシステムを起動するために使用されます。
chainloader を複数回実行すると、メモリ解放後使用 (Use After Free) の脆弱性が発生します。攻撃者が GRUB2 のメモリ割り当てパターンをコントロールできる場合、機密データが漏洩し、任意のコードが実行される可能性があります。(CVE-2022-28736)

- 特定の unicode シーケンスをレンダリングする際、grub2 のフォントコードが、通知された glyph の幅と高さがビットマップサイズ内で制約されている場合、適切に検証しません。その結果、攻撃者が入力を細工し、grub2 のヒープへの領域外書き込みを引き起こし、メモリ破損と可用性の問題を引き起こす可能性があります。複雑ですが、任意コード実行を破棄できませんでした。(CVE-2022-3775)

Nessus はこれらの問題をテストしておらず、代わりにアプリケーションの自己報告されたバージョン番号にのみ依存しています。

ソリューション

影響を受けるパッケージを更新してください。

参考資料

https://ubuntu.com/security/notices/USN-6355-1

プラグインの詳細

深刻度: High

ID: 181178

ファイル名: ubuntu_USN-6355-1.nasl

バージョン: 1.1

タイプ: local

エージェント: unix

公開日: 2023/9/8

更新日: 2024/1/17

サポートされているセンサー: Frictionless Assessment AWS, Frictionless Assessment Azure, Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Nessus

リスク情報

VPR

リスクファクター: Medium

スコア: 6.7

CVSS v2

リスクファクター: Medium

基本値: 6.9

現状値: 5.1

ベクトル: CVSS2#AV:L/AC:M/Au:N/C:C/I:C/A:C

CVSS スコアのソース: CVE-2021-3696

CVSS v3

リスクファクター: High

基本値: 8.1

現状値: 7.1

ベクトル: CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H

現状ベクトル: CVSS:3.0/E:U/RL:O/RC:C

CVSS スコアのソース: CVE-2022-28733

脆弱性情報

CPE: cpe:/o:canonical:ubuntu_linux:20.04:-:lts, cpe:/o:canonical:ubuntu_linux:22.04:-:lts, p-cpe:/a:canonical:ubuntu_linux:grub-efi-amd64, p-cpe:/a:canonical:ubuntu_linux:grub-efi-amd64-bin, p-cpe:/a:canonical:ubuntu_linux:grub-efi-amd64-signed, p-cpe:/a:canonical:ubuntu_linux:grub-efi-arm64, p-cpe:/a:canonical:ubuntu_linux:grub-efi-arm64-bin, p-cpe:/a:canonical:ubuntu_linux:grub-efi-arm64-signed, p-cpe:/a:canonical:ubuntu_linux:shim, p-cpe:/a:canonical:ubuntu_linux:shim-signed

必要な KB アイテム: Host/cpu, Host/Debian/dpkg-l, Host/Ubuntu, Host/Ubuntu/release

エクスプロイトの容易さ: No known exploits are available

パッチ公開日: 2023/9/8

脆弱性公開日: 2020/7/30

参照情報

CVE: CVE-2021-3695, CVE-2021-3696, CVE-2021-3697, CVE-2021-3981, CVE-2022-28733, CVE-2022-28734, CVE-2022-28735, CVE-2022-28736, CVE-2022-28737, CVE-2022-3775

USN: 6355-1