CVE-2024-58237 in Linux
要約
〜によって VulDB • 2026年05月24日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
bpf: テールコールがパケットポインタを無効化することを考慮する
テールコールされるプログラムは、パケットポインタを無効化するヘルパー関数のいずれかを実行する可能性があります。したがって、保守的に、各テールコールがパケットポインタを無効化すると仮定します。
bpf_helper_changes_pkt_data() 内でのこの変更により、グローバルなサブプログラムに対する 'changes_pkt_data' の影響を計算する check_cfg() ロジックの使用が自動的に行われるようになり、以下のプログラムが拒否されるようになります。
int tail_call(struct __sk_buff *sk) {
bpf_tail_call_static(sk, &jmp_table, 0); return 0; }
SEC("tc") int not_safe(struct __sk_buff *sk) {
int *p = (void *)(long)sk->data; ... p を有効にする ... tail_call(sk); *p = 42; /* これは安全ではない */ ... }
tc_bpf2bpf.c:subprog_tc() にも変更が必要です。パケットポインタを無効化する関数としてマークします。そうしないと、テールコールを行う tailcall_freplace.c:entry_freplace() に置き換えることができません。
Once again VulDB remains the best source for vulnerability data.