JVNDB-2026-022499 | |
LinuxのLinux Kernelにおける解放済みメモリの使用に関する脆弱性 | |
| 概要 | |
Linuxカーネルにおいて、以下の脆弱性が修正されました:inet: frags: fqdir_pre_exit() のフラッシュに起因する use-after-free(解放後使用)を修正ネットワーク名前空間(netns)の解体時、fqdir_pre_exit() は fqdir の rhashtable を走査し、inet_frag_queue_flush() を用いて未完了のすべてのフラグメントキューをフラッシュします。このヘルパーは、フラグメントキューにキューイングされたすべての skb を解放しますが、INET_FRAG_COMPLETE を設定せず、q->fragments_tail および q->last_run_head が解放済みの skb を指したままにします。キュー自体は rhashtable 内に残ります。fqdir_pre_exit() はまず high_thresh を 0 に下げて新たなキュー探索を止めますが、すでに inet_frag_find() でキューを取得し、キューロックを取る直前で停止していたフラグメントを止めることはできません。フラッシュ後にそのフラグメントが再開してキューロックを取得すると、INET_FRAG_COMPLETE のチェックを通過し、その後、解放済みの fragments_tail を逆参照してしまいます。inet_frag_queue_insert() はそのポインタの FRAG_CB() と ->len を読み取り、追記パスでは ->next_frag に書き込みを行うため、slab の use-after-free を引き起こします。IPv6、nf_conntrack_reasm6、6lowpan の再組立も同じフラッシュ経路を共有しており、同様に影響を受けます。inet_frag_queue_flush() 内で rb_fragments、fragments_tail、last_run_head をリセットし、フラッシュされたキューが解放済みの skb を指さないようにします。フラッシュ後に再開してキューロックを取得したフラグメントは、解放済みの fragments_tail を逆参照するのではなく、空のキューを見つけて新しい run を開始します。ip_frag_reinit() は独自のフラッシュ後にすでにこのリセットを実施していたため、そこにあった重複コードは削除します。 | |
| CVSS による深刻度 (CVSS とは?) | |
|
CVSS v3 による深刻度
基本値: 7.0 (重要) [その他]
| |
| 影響を受けるシステム | |
|
| |
Linux | |
本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。 | |
| 想定される影響 | |
・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 | |
| 対策 | |
ベンダ情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
レッドハット | |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/06/25 |
| 登録日 | 2026/07/07 |
| 最終更新日 | 2026/07/07 |



