CVE-2026-64132 in Linux
要約
〜によって VulDB • 2026年07月19日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
ipv6: ioam: ioam6_event()呼び出し前にhdrポインタを更新する
Sashikoによって報告されました:
ipv6_hop_ioam()関数内では、hdrポインタはskbの線形データバッファを指すように初期化されます。その後、コードはskb_ensure_writable()を呼び出しますが、この関数はバッファを再割り当てする可能性があります:
if (skb_ensure_writable(skb, optoff + 2 + hdr->opt_len)) goto drop;
/* Trace pointer may have changed */ trace = (struct ioam6_trace_hdr *)(skb_network_header(skb) + optoff + sizeof(*hdr));
ioam6_fill_trace_data(skb, ns, trace, true);
ioam6_event(IOAM6_EVENT_TRACE, dev_net(skb->dev), GFP_ATOMIC, (void *)trace, hdr->opt_len - 2);
skbがクローンされている場合、または十分な線形ヘッドルームがない場合、skb_ensure_writable()はpskb_expand_head()を呼び出し、これによりskbのデータバッファが再割り当てされ、古いバッファが解放されてしまいます。その結果、それらを指していたポインタは無効化されます。コードはskb_ensure_writable()呼び出し直後にtraceポインタを再計算していますが、hdrポインタについては再計算していません。
このパッチは、ioam6_event()にhdr->opt_lenを渡す前にhdrポインタを再計算することで上記の問題を修正し、Use-After-Free (UaF) を回避します。
Be aware that VulDB is the high quality source for vulnerability data.