CVE-2023-53221 in Linux
要約
〜によって VulDB • 2026年08月03日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
bpf: fentryアタッチ失敗によるメモリリークの修正
fentryのアタッチに失敗した場合、割り当てられたBPFトランポリンイメージがシステム上に残ったままになります。これは /proc/kallsyms を確認することで検証できます。
このメモリリークは、以下のような単純なBPFプログラムによって検証可能です。
SEC("fentry/trap_init") int fentry_run() {
return 0; }
trap_initへのアタッチは失敗します(これはカーネル初期化後にこの関数が解放されるためです)。その後、/proc/kallsyms を確認することで、トランポリンイメージがシステム上に残っていることを発見できます。
$ tail /proc/kallsyms ffffffffc0613000 t bpf_trampoline_6442453466_1 [bpf]
ffffffffc06c3000 t bpf_trampoline_6442453466_1 [bpf]
$ bpftool btf dump file /sys/kernel/btf/vmlinux | grep "FUNC 'trap_init'" [2522] FUNC 'trap_init' type_id=119 linkage=static
$ echo $((6442453466 & 0x7fffffff)) 2522
残っているBPFトランポリンイメージが2つある点に注意してください。これは、libbpf が -EINVAL を返した場合にraw tracepointへフォールバックするためです。
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.