JVNDB-2026-024888 | |
LinuxのLinux Kernelにおける不特定の脆弱性 | |
| 概要 | |
Linuxカーネルにおいて、以下の脆弱性が解消されました。netfilter: nf_conntrackにおいて、モジュールの登録解除時に古いexpectfn期待を破棄します。nf_nat_h323などのNATヘルパーは、exp->expectfn(例:ip_nat_q931_expect)にモジュールのテキストへの生ポインタを保持しています。nf_ct_helper_expectfn_unregister()はコールバック記述子のリンク解除のみを行い、期待テーブルを走査しません。そのため、モジュール削除時に保留中の期待が、解放済みモジュールのテキストを指すダングリングなexp->expectfnのまま残存してしまいます。期待された接続が到着すると、init_conntrack()は現在アンロードされたモジュールの古いポインタであるexp->expectfn()を呼び出します。これは、H.323ヘルパーをロードし、Q.931期待を作成し、nf_nat_h323をアンロードし、期待されたポートに接続することで、KASANビルド上で再現されました。再現例は以下の通りです。Oops: int3: 0000 [#1] SMP KASAN NOPTI RIP: 0010:0xffffffffa06102d1 init_conntrack.isra.0 (net/netfilter/nf_conntrack_core.c:1862) nf_conntrack_in (net/netfilter/nf_conntrack_core.c:2049) ipv4_conntrack_local (net/netfilter/nf_conntrack_proto.c:223) nf_hook_slow (net/netfilter/core.c:619) __ip_local_out (net/ipv4/ip_output.c:120) __tcp_transmit_skb (net/ipv4/tcp_output.c:1715) tcp_connect (net/ipv4/tcp_output.c:4374) tcp_v4_connect (net/ipv4/tcp_ipv4.c:345) __sys_connect (net/socket.c:2167) ロードされているモジュールはnf_conntrack_h323で、最後にアンロードされたモジュールはnf_nat_h323です。このダングリング状態に至るには、初期ユーザーネームスペースでCAP_SYS_MODULE権限が必要であり、生きた期待が存在するNATヘルパーを削除する必要があります。そのため、これは堅牢性の修正と言えます。期待が解放されたテキストを指すのは不適切です。修正として、nf_ct_helper_expectfn_destroy()を追加し、期待テーブルを走査して、破棄される記述子と->expectfnが一致するすべての期待を破棄します。既存のRCU猶予期間後に各NATヘルパーの終了パスからこの関数を呼び出すことで、どの期待も指すコードより長く生き残らず、追加のsynchronize_rcu()も必要ありません。修正後は、同じ再現シナリオでもOopsなしで正常に完了します。 | |
| CVSS による深刻度 (CVSS とは?) | |
|
CVSS v3 による深刻度
基本値: 5.5 (警告) [NVD値]
| |
| 影響を受けるシステム | |
|
| |
Linux | |
|
| |
| 想定される影響 | |
・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 | |
| 対策 | |
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
|
| |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/07/01 |
| 登録日 | 2026/07/24 |
| 最終更新日 | 2026/07/24 |



