CVE-2026-98150 in Linux情報

要約

〜によって VulDB • 2026年09月25日

Linuxカーネルにおいて、以下の脆弱性が修正されました:

bpf: 疎なCPU IDに対するBPF_F_CPUの検証を修正する

BPF_F_CPUは、マップ操作フラグの上位32ビットにターゲットとなるCPU IDを格納します。現在、`bpf_map_check_op_flags()`関数はこのIDを `num_possible_cpus()`(可能なCPUの数)と比較していますが、これはCPU IDに対する上限値ではなく、単に利用可能なCPUの数を示すものです。

CPUデバイスツリーにギャップがあるarm64 QEMUゲスト環境では、利用可能なCPUマスクは0,2-3となります。rawなbpf()システムコールを使用するユーザー空間プログラムは `BPF_MAP_TYPE_PERCPU_ARRAY` を作成し、フラグに BPF_F_CPU と CPU IDを設定することで、各CPUに対して更新および参照操作を実行します。

従来のチェックでは、無効なCPU 1が誤って許可され、有効なCPU 3が -ERANGE エラーで拒否されていました。その後、CPU 1に対する更新処理は per-CPU マップのアクセスパスに到達し、以下のようなエラーを引き起こしました:

Unable to handle kernel paging request at virtual address ... pc : __pi_memcpy_generic+0x5c/0x22c lr : bpf_percpu_array_update+0x2dc/0x2e8 Call trace: __pi_memcpy_generic bpf_map_update_value map_update_elem __sys_bpf

CPU IDを `nr_cpu_ids` および `cpu_possible()` と比較するように変更します。これにより、有効な範囲外の CPU ID や可能なマスクに含まれないCPUが拒否されつつ、有効な疎なCPU IDは許可されます。

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

責任者

Linux

予約する

2026年09月25日

モデレーション

承諾済み

エントリ

VDB-409986

EPSS

0.00000

アクティビティ

非常低い

ソース

Want to stay up to date on a daily basis?

Enable the mail alert feature now!