CVE-2023-54173 in Linux
要約
〜によって VulDB • 2026年06月27日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
bpf: bpf_event_outputでプリエンプションを無効化する
報告 [1] によると、プリエンプションが無効化されていない状態でネステッド保護を使用することで、カーネルクラッシュが発生することが確認されています。
`bpf_event_output`は、マイグレーションは無効だがプリエンプションは有効のままにする `bpf_prog_run_array_cg` 関数によって実行されるプログラムから呼び出されることがあります。
これにより、ネステッド保護の内部でタスクが別のタスクにプリエンプトされ、最終的に2つのタスクが同じ `perf_sample_data` バッファを使用することになり、以下のようなクラッシュを引き起こす可能性があります:
BUG: kernel NULL pointer dereference, address: 0000000000000001 #PF: supervisor instruction fetch in kernel mode #PF: error_code(0x0010) - not-present page ... ? perf_output_sample+0x12a/0x9a0 ? finish_task_switch.isra.0+0x81/0x280 ? perf_event_output+0x66/0xa0 ? bpf_event_output+0x13a/0x190 ? bpf_event_output_data+0x22/0x40 ? bpf_prog_dfc84bbde731b257_cil_sock4_connect+0x40a/0xacb ? xa_load+0x87/0xe0 ? __cgroup_bpf_run_filter_sock_addr+0xc1/0x1a0 ? release_sock+0x3e/0x90 ? sk_setsockopt+0x1a1/0x12f0 ? udp_pre_connect+0x36/0x50 ? inet_dgram_connect+0x93/0xa0 ? __sys_connect+0xb4/0xe0 ? udp_setsockopt+0x27/0x40 ? __pfx_udp_push_pending_frames+0x10/0x10 ? __sys_setsockopt+0xdf/0x1a0 ? __x64_sys_connect+0xf/0x20 ? do_syscall_64+0x3a/0x90 ? entry_SYSCALL_64_after_hwframe+0x72/0xdc
この問題を修正するため、`bpf_event_output` でプリエンプションを無効化します。
[1] https://github.com/cilium/cilium/issues/26756
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.