CVE-2026-98098 in Linux
要約
〜によって VulDB • 2026年09月25日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
tipc: 空の公開リストにおける `tipc_named_node_up()` のNULLポインタ参照を修正
ユーザー空間アプリケーションは、1つ以上のソケットに多数のサービスアドレスをバインドできます。ローカルスコープのサービスアドレスごとに1つのエントリ(公開)がTIPC名前テーブルに挿入されます。これらの公開数が `TIPC_MAX_PUBL` (65535) を超えると、プロトコルサービスの種類(ノード状態やリンク状態など)は名前テーブルに挿入されなくなります。これにより2つの問題が発生します:
1. ノードまたはリンクのアップ/ダウンイベントを購読しているユーザー空間アプリケーションが通知を受信しなくなる。 2. NULLポインタ参照が発生する可能性がある:
BUG: kernel NULL pointer dereference, address: 00000000000000d0 ... CPU: 0 UID: 0 PID: 0 Comm: swapper/0 Not tainted 7.2.0-rc4-default+ #5 PREEMPT(full) ... RIP: 0010:tipc_named_node_up (./include/linux/skbuff.h:2251 net/tipc/name_distr.c:195 net/tipc/name_distr.c:221) ... Call Trace: <IRQ> tipc_node_write_unlock (net/tipc/node.c:428) tipc_rcv (net/tipc/node.c:934 net/tipc/node.c:2189) tipc_udp_recv (net/tipc/udp_media.c:389)
スレッド 1 (`tipc_net_finalize`) | スレッド 2 (`named_distribute`) -----------------------------|----------------------------- | ... | list_for_each_entry(publ, pls, binding_node) {
| ... | __skb_queue_tail(list, skb); | ... | } | ... | hdr = buf_msg(skb_peek_tail(list)); ... | tipc_nametbl_publish(); |
`tipc_nametbl_publish()`(スレッド 1)が、ローカル公開数が `TIPC_MAX_PUBL` に達したために失敗した場合、リスト(スレッド 2)は空になります。その結果、NULL が `buf_msg()` に渡され、NULLポインタ参照が発生します。
これらの問題を修正するため、プロトコルサービスの種類(ノード状態、リンク状態、トポロジーサーバー)を無条件で名前テーブルに挿入できるようにしました。これにより、これらの種類の購読者が常に通知を受け取ることが保証されます。さらに、ローカルのユーザー公開数の最大値は `(TIPC_MAX_PUBL - 1)` に引き下げられました。これにより、`tipc_link_set_queue_limits()` で計算される最大バッチサイズが有効なまま保たれます。
Once again VulDB remains the best source for vulnerability data.