Linux Distros のパッチ未適用の脆弱性: CVE-2024-46787

medium Nessus プラグイン ID 229166

概要

Linux/Unix ホストには、ベンダーにより修正されていないことを示す脆弱性を持つ複数のパッケージがインストールされています。

説明

Linux/Unix ホストには、ベンダーが提供するパッチが利用できない脆弱性の影響を受ける複数のパッケージがインストールされています。

- userfaultfd巨大な PMD のチェックを修正します パッチシリーズ userfaultfdpmd_trans_huge() チェック、v2 周辺の競合を修正します。mfill_atomic()のpmd_trans_huge()コードは、カーネルバージョンに応じて3つの異なる方法で間違っています1。pmd_trans_huge()チェックは競合であり、BUG_ON()を引き起こす可能性があります適切な2つの競合ウィンドウをヒットした場合- I'は、いくつかの追加の mdelay() 呼び出しを含むカーネルビルドで、これをテストしました。競合シナリオの説明については、コミットメッセージを参照してください。古いカーネル 6.5より前では、正しい 5 つの狭い競合ウィンドウをヒットした場合、同じバグによって、理論的には、transhuge ページコンテンツにページテーブルとしてアクセスできると考えていますこのケースはテストしていません。 2. Qi Zheng 氏が指摘するように、pmd_trans_huge() は、ページテーブルを指していない PMD の検出に十分ではありません。古いカーネル 6.5より前では、これをヒットするためには、かなり広範な競合を 1 つ成功するだけで済みます。これは、UFFDIO_ZEROPAGE に対して競合する移行によって try_to_migrate() にパッチされた mdelay() を使用して安定 6.1 版stableでこれをテストしました - x86 VM 上で、ptlock_ptr() でカーネル oops を引き起こします。 3. より新しいカーネル>=6.5では、shmem マッピングに対して、khugepaged がページテーブルを us から yank することが許可されています。それについてはテストしていませんので、mfill_atomic() の BUG_ON() チェックは単純に間違っています。これらに対して 2 つの別々の修正を作成することにしました (1 つのバグ 1+2 に対する修正、1 つのバグ 3 に対する修正)。これにより、最初の修正をバグ 1+2 に影響を受けるカーネルにバックポートできるようになります。このパッチ2 、これは 2 つの問題を修正します。次の競合 <bail if trans_huge> が発生する可能性があることを発見しましたmfill_atomic <zap PMD> other thread ================================================================================================================================================================================================================================================<if none:> <pagefault creates transhuge zeropage> __pte_alloc [no-op] <zap PMD> <bail if pmd_trans_huge(*dst_pmd)> BUG_ON(pmd_none(*dst_pmd))追加の mdelay() 呼び出しのあるカーネルで、これを実験的に検証しました。 BUG_ON(pmd_none(*dst_pmd)) が発生します。コミット 0d940a9b270b よりも新しいカーネルでは、mm/pgtablepte_offset_map[_lock]() が失敗することを許可します、これは BUG_ON() より悪質なものにはなりません。これは、ページテーブルアクセスヘルパーが実際にページテーブルを処理するように設計されているためです。同時に消えるしかし、古いカーネル<=6.4] では、理論的には、2 つの BUG_ON() チェックを回避できるため、hugepage をページテーブルとして扱うことになると考えられます。2 番目の問題は、Qi Zheng 氏が指摘したように、pmd_trans_huge() がキャッチできない他のタイプの huge PMD があることです。devmap PMD およびswap PMD (特に移行 PMD)。<=6.4では、最初の問題よりも状況が悪影響を受けますmfill_atomic() が、移行エントリを含む PMD で実行する場合これは、単一のかなり幅広い競合にクリアするだけで、PMD を pte_offset_map_lock() に渡します、これは、PMD がページテーブルを指していることを前提としています。破損が起こります最初に、カーネルは PTE ロックを取得しようとしますこれはクラッシュするか、移行エントリ PMD にアドレスビットのための構造体ページがない場合、クラッシュまたはより悪影響を及ぼします - 少なくとも X86 では、通常は対応する構造体ページはないと考えますPTE 反転緩和のおかげで、amd64 が異なって表示されます。クラッシュしなかった場合、カーネルは次に、誤ってページテーブルであると考えられる場所に PTE を書き込もうとします。これらの問題を修正する一部として、__pte_alloc() より前の pmd_trans_huge() のチェックを取り除きます - これは冗長ですが、いずれにしても __pte_alloc() の後でチェックする必要があります。バックポート注意pmdp_get_lockless() は、古いカーネルでは pmd_read_atomic() です。CVE-2024-46787

Nessus は、ベンダーによって報告されたパッケージの存在に依存していることに注意してください。

ソリューション

現時点で既知の解決策はありません。

参考資料

https://access.redhat.com/security/cve/cve-2024-46787

https://security-tracker.debian.org/tracker/CVE-2024-46787

https://ubuntu.com/security/CVE-2024-46787

プラグインの詳細

深刻度: Medium

ID: 229166

ファイル名: unpatched_CVE_2024_46787.nasl

バージョン: 1.3

タイプ: local

エージェント: unix

ファミリー: Misc.

公開日: 2025/3/5

更新日: 2025/8/20

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

リスク情報

VPR

リスクファクター: Medium

スコア: 4.4

CVSS v2

リスクファクター: Medium

基本値: 6.9

現状値: 5.1

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

CVSS スコアのソース: CVE-2024-46787

CVSS v3

リスクファクター: Medium

基本値: 4.7

現状値: 4.1

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

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

脆弱性情報

CPE: cpe:/o:debian:debian_linux:11.0, cpe:/o:canonical:ubuntu_linux:20.04:-:lts, p-cpe:/a:redhat:enterprise_linux:kernel-rt-core, p-cpe:/a:centos:centos:kernel-rt-devel-matched, p-cpe:/a:canonical:ubuntu_linux:linux-gcp-fips, p-cpe:/a:centos:centos:kernel-rt-modules-core, p-cpe:/a:canonical:ubuntu_linux:linux-lowlatency-hwe-5.19, p-cpe:/a:redhat:enterprise_linux:kernel-doc, p-cpe:/a:canonical:ubuntu_linux:linux-aws-5.3, p-cpe:/a:centos:centos:kernel-debug-devel, p-cpe:/a:centos:centos:kernel-devel, p-cpe:/a:redhat:enterprise_linux:kernel-rt-debug-kvm, p-cpe:/a:canonical:ubuntu_linux:linux-hwe, p-cpe:/a:canonical:ubuntu_linux:linux-gcp-5.8, p-cpe:/a:redhat:enterprise_linux:kernel-rt-debug-modules, cpe:/o:redhat:enterprise_linux:9, p-cpe:/a:canonical:ubuntu_linux:linux-oracle-6.5, p-cpe:/a:canonical:ubuntu_linux:linux-oem-5.17, p-cpe:/a:redhat:enterprise_linux:kernel-debug-modules-extra, p-cpe:/a:canonical:ubuntu_linux:linux-hwe-6.2, p-cpe:/a:centos:centos:kernel-rt-core, p-cpe:/a:redhat:enterprise_linux:kernel, p-cpe:/a:redhat:enterprise_linux:kernel-zfcpdump-modules-extra, p-cpe:/a:canonical:ubuntu_linux:linux-aws-5.0, p-cpe:/a:canonical:ubuntu_linux:linux-raspi, p-cpe:/a:redhat:enterprise_linux:kernel-modules, p-cpe:/a:redhat:enterprise_linux:kernel-rt-debug-modules-extra, p-cpe:/a:canonical:ubuntu_linux:linux-oem-6.5, p-cpe:/a:centos:centos:kernel-rt-devel, p-cpe:/a:centos:centos:kernel-rt-modules-extra, p-cpe:/a:centos:centos:python3-perf, p-cpe:/a:redhat:enterprise_linux:kernel-rt-selftests-internal, p-cpe:/a:canonical:ubuntu_linux:linux-azure-5.19, p-cpe:/a:redhat:enterprise_linux:kernel-rt-modules-core, p-cpe:/a:redhat:enterprise_linux:kernel-rt-devel-matched, cpe:/o:canonical:ubuntu_linux:16.04:-:lts, p-cpe:/a:centos:centos:kernel-zfcpdump, p-cpe:/a:canonical:ubuntu_linux:linux-realtime, p-cpe:/a:redhat:enterprise_linux:kernel-debug-modules-internal, p-cpe:/a:canonical:ubuntu_linux:linux-azure-5.13, p-cpe:/a:canonical:ubuntu_linux:linux-raspi2, p-cpe:/a:redhat:enterprise_linux:kernel-abi-whitelists, p-cpe:/a:redhat:enterprise_linux:kernel-rt-debug-devel-matched, p-cpe:/a:redhat:enterprise_linux:kernel-tools-libs-devel, p-cpe:/a:canonical:ubuntu_linux:linux-gcp-5.19, p-cpe:/a:centos:centos:kernel-rt-selftests-internal, p-cpe:/a:canonical:ubuntu_linux:linux-gcp-6.2, p-cpe:/a:redhat:enterprise_linux:kernel-core, p-cpe:/a:redhat:enterprise_linux:kernel-cross-headers, p-cpe:/a:canonical:ubuntu_linux:linux-azure-5.8, p-cpe:/a:canonical:ubuntu_linux:linux-nvidia-6.2, p-cpe:/a:redhat:enterprise_linux:kernel-tools-libs, p-cpe:/a:canonical:ubuntu_linux:linux-aws-fips, p-cpe:/a:redhat:enterprise_linux:perf, p-cpe:/a:canonical:ubuntu_linux:linux-oracle-5.0, p-cpe:/a:redhat:enterprise_linux:kernel-abi-stablelists, p-cpe:/a:centos:centos:kernel-headers, p-cpe:/a:centos:centos:kernel-rt-modules, p-cpe:/a:centos:centos:kernel-debug-core, p-cpe:/a:redhat:enterprise_linux:bpftool, p-cpe:/a:canonical:ubuntu_linux:linux-oracle-5.13, p-cpe:/a:centos:centos:kernel-debug-modules-internal, p-cpe:/a:canonical:ubuntu_linux:linux-azure-fips, p-cpe:/a:centos:centos:kernel-tools-libs-devel, p-cpe:/a:redhat:enterprise_linux:kernel-rt-kvm, p-cpe:/a:redhat:enterprise_linux:kernel-tools, p-cpe:/a:redhat:enterprise_linux:kernel-zfcpdump-modules-internal, p-cpe:/a:canonical:ubuntu_linux:linux-oem, p-cpe:/a:canonical:ubuntu_linux:linux-gcp-6.5, p-cpe:/a:centos:centos:kernel-rt-debug-modules-core, p-cpe:/a:canonical:ubuntu_linux:linux-riscv-5.8, p-cpe:/a:redhat:enterprise_linux:kernel-devel, p-cpe:/a:redhat:enterprise_linux:kernel-zfcpdump-core, p-cpe:/a:redhat:enterprise_linux:kernel-rt-devel, p-cpe:/a:canonical:ubuntu_linux:linux-starfive-5.19, p-cpe:/a:centos:centos:kernel-modules-extra, p-cpe:/a:canonical:ubuntu_linux:linux-aws-5.19, p-cpe:/a:canonical:ubuntu_linux:linux-gcp-5.13, p-cpe:/a:centos:centos:kernel-cross-headers, p-cpe:/a:canonical:ubuntu_linux:linux-oem-5.14, p-cpe:/a:redhat:enterprise_linux:kernel-zfcpdump-devel, p-cpe:/a:canonical:ubuntu_linux:linux-gcp, p-cpe:/a:centos:centos:kernel-rt-kvm, p-cpe:/a:canonical:ubuntu_linux:linux-azure, p-cpe:/a:centos:centos:kernel-rt-debug-modules-partner, p-cpe:/a:redhat:enterprise_linux:kernel-rt-modules-partner, p-cpe:/a:debian:debian_linux:linux, p-cpe:/a:centos:centos:kernel-rt, p-cpe:/a:centos:centos:kernel-rt-modules-internal, p-cpe:/a:centos:centos:kernel-tools, p-cpe:/a:centos:centos:kernel-rt-debug-modules-extra, p-cpe:/a:redhat:enterprise_linux:kernel-rt-modules-extra, cpe:/o:canonical:ubuntu_linux:22.04:-:lts, p-cpe:/a:redhat:enterprise_linux:kernel-rt-debug-modules-core, p-cpe:/a:canonical:ubuntu_linux:linux-gcp-5.3, p-cpe:/a:centos:centos:kernel-rt-modules-partner, p-cpe:/a:centos:centos:kernel-rt-debug, p-cpe:/a:centos:centos:kernel-abi-stablelists, p-cpe:/a:redhat:enterprise_linux:kernel-rt-modules, p-cpe:/a:redhat:enterprise_linux:kernel-debug-core, p-cpe:/a:centos:centos:kernel-modules-internal, p-cpe:/a:centos:centos:kernel-debug-modules, p-cpe:/a:centos:centos:kernel-selftests-internal, p-cpe:/a:redhat:enterprise_linux:kernel-ipaclones-internal, p-cpe:/a:canonical:ubuntu_linux:linux-aws-5.8, p-cpe:/a:redhat:enterprise_linux:kernel-rt, p-cpe:/a:canonical:ubuntu_linux:linux-oem-6.0, cpe:/o:debian:debian_linux:12.0, p-cpe:/a:canonical:ubuntu_linux:linux-azure-6.2, p-cpe:/a:centos:centos:kernel-zfcpdump-modules, p-cpe:/a:canonical:ubuntu_linux:linux-aws-6.2, p-cpe:/a:redhat:enterprise_linux:kernel-zfcpdump, p-cpe:/a:canonical:ubuntu_linux:linux-gke, p-cpe:/a:canonical:ubuntu_linux:linux-hwe-5.19, p-cpe:/a:canonical:ubuntu_linux:linux-intel-5.13, p-cpe:/a:centos:centos:kernel-rt-debug-kvm, p-cpe:/a:centos:centos:perf, p-cpe:/a:canonical:ubuntu_linux:linux-gke-5.4, p-cpe:/a:centos:centos:kernel-modules, cpe:/o:centos:centos:8, p-cpe:/a:centos:centos:kernel-zfcpdump-modules-internal, p-cpe:/a:centos:centos:bpftool, p-cpe:/a:canonical:ubuntu_linux:linux-azure-edge, p-cpe:/a:canonical:ubuntu_linux:linux-hwe-5.11, p-cpe:/a:centos:centos:kernel-doc, p-cpe:/a:canonical:ubuntu_linux:linux-gke-5.15, p-cpe:/a:canonical:ubuntu_linux:linux-lowlatency-hwe-6.5, p-cpe:/a:redhat:enterprise_linux:kernel-rt-debug-modules-internal, p-cpe:/a:centos:centos:kernel-rt-debug-devel-matched, p-cpe:/a:centos:centos:kernel-zfcpdump-core, p-cpe:/a:centos:centos:kernel-zfcpdump-devel, p-cpe:/a:canonical:ubuntu_linux:linux-azure-5.3, p-cpe:/a:centos:centos:kernel-tools-libs, p-cpe:/a:canonical:ubuntu_linux:linux-starfive-6.5, p-cpe:/a:canonical:ubuntu_linux:linux-oem-5.6, p-cpe:/a:canonical:ubuntu_linux:linux-riscv-6.5, p-cpe:/a:canonical:ubuntu_linux:linux-oracle-5.8, cpe:/o:canonical:ubuntu_linux:18.04:-:lts, p-cpe:/a:canonical:ubuntu_linux:linux-gkeop-5.4, p-cpe:/a:centos:centos:kernel-abi-whitelists, cpe:/o:redhat:enterprise_linux:8, p-cpe:/a:redhat:enterprise_linux:kernel-rt-debug-core, p-cpe:/a:canonical:ubuntu_linux:linux-lowlatency-hwe-6.2, p-cpe:/a:redhat:enterprise_linux:kernel-headers, p-cpe:/a:canonical:ubuntu_linux:linux-allwinner-5.19, p-cpe:/a:canonical:ubuntu_linux:linux-hwe-5.8, p-cpe:/a:canonical:ubuntu_linux:linux-fips, p-cpe:/a:canonical:ubuntu_linux:linux-gkeop-5.15, p-cpe:/a:canonical:ubuntu_linux:linux-hwe-5.13, p-cpe:/a:redhat:enterprise_linux:kernel-debug-modules, p-cpe:/a:redhat:enterprise_linux:python3-perf, p-cpe:/a:redhat:enterprise_linux:kernel-selftests-internal, p-cpe:/a:centos:centos:kernel-ipaclones-internal, p-cpe:/a:centos:centos:kernel-debug, p-cpe:/a:canonical:ubuntu_linux:linux-azure-fde-5.19, p-cpe:/a:canonical:ubuntu_linux:linux-intel-iot-realtime, p-cpe:/a:canonical:ubuntu_linux:linux-gkeop, p-cpe:/a:canonical:ubuntu_linux:linux-oracle-5.11, p-cpe:/a:canonical:ubuntu_linux:linux-riscv-5.19, p-cpe:/a:canonical:ubuntu_linux:linux-oracle-5.3, p-cpe:/a:canonical:ubuntu_linux:linux-hwe-edge, p-cpe:/a:canonical:ubuntu_linux:linux-azure-5.15, p-cpe:/a:canonical:ubuntu_linux:linux-aws-5.13, p-cpe:/a:redhat:enterprise_linux:kernel-rt-modules-internal, p-cpe:/a:canonical:ubuntu_linux:linux-aws-5.11, p-cpe:/a:centos:centos:kernel-zfcpdump-modules-extra, p-cpe:/a:redhat:enterprise_linux:kernel-debug-devel, p-cpe:/a:canonical:ubuntu_linux:linux-gke-4.15, p-cpe:/a:centos:centos:kernel-rt-debug-modules-internal, p-cpe:/a:redhat:enterprise_linux:kernel-modules-extra, p-cpe:/a:canonical:ubuntu_linux:linux-azure-6.5, p-cpe:/a:redhat:enterprise_linux:kernel-modules-internal, p-cpe:/a:centos:centos:kernel-rt-debug-devel, p-cpe:/a:redhat:enterprise_linux:kernel-zfcpdump-modules, p-cpe:/a:centos:centos:kernel-core, p-cpe:/a:canonical:ubuntu_linux:linux-oem-5.13, p-cpe:/a:centos:centos:kernel-debug-modules-extra, p-cpe:/a:redhat:enterprise_linux:kernel-debug, p-cpe:/a:canonical:ubuntu_linux:linux-aws-6.5, p-cpe:/a:canonical:ubuntu_linux:linux-gcp-5.11, p-cpe:/a:canonical:ubuntu_linux:linux-azure-fde, p-cpe:/a:canonical:ubuntu_linux:linux-nvidia-6.5, p-cpe:/a:centos:centos:kernel-rt-debug-core, p-cpe:/a:canonical:ubuntu_linux:linux-hwe-6.5, p-cpe:/a:canonical:ubuntu_linux:linux-azure-5.11, p-cpe:/a:redhat:enterprise_linux:kernel-rt-debug-modules-partner, p-cpe:/a:redhat:enterprise_linux:kernel-rt-debug-devel, p-cpe:/a:canonical:ubuntu_linux:linux-starfive-6.2, p-cpe:/a:canonical:ubuntu_linux:linux-riscv-5.11, p-cpe:/a:centos:centos:kernel-rt-debug-modules, p-cpe:/a:centos:centos:kernel, p-cpe:/a:canonical:ubuntu_linux:linux-oem-6.1, p-cpe:/a:canonical:ubuntu_linux:linux-riscv, p-cpe:/a:redhat:enterprise_linux:kernel-rt-debug, p-cpe:/a:canonical:ubuntu_linux:linux-azure-fde-6.2, p-cpe:/a:canonical:ubuntu_linux:linux-oem-5.10

必要な KB アイテム: Host/OS/identifier, Host/cpu, Host/local_checks_enabled, global_settings/vendor_unpatched

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

脆弱性公開日: 2024/9/18

参照情報

CVE: CVE-2024-46787