【活用ガイド】

JVNDB-2026-023156

LinuxのLinux Kernelにおける解放済みメモリの使用に関する脆弱性

概要

Linuxカーネルにおいて、以下の脆弱性が修正されました。net/sched: act_ctにおいて、ct_ftを解放した後にのみRCU読み取りロックを解除するべきところを、act_ctのフローテーブルをtcf_ct_flow_table_get()で検索する際に、rhashtable_lookup_fast()が内部的にRCU読み取りクリティカルセクションを開閉し、その後ct_ftを返します。tcf_ct_flow_table_cleanup_work()は、返されたct_ftに対してrefcount_inc_not_zero()が呼ばれる前に完了することがあり、既に解放されたct_ftオブジェクトに対するUse-After-Free(UAF)が発生します。この脆弱性は権限昇格につながる可能性があります。zdi-disclosures@trendmicro.comによる解析によれば、act_ctの初期化時にtcf_ct_init()が呼ばれ、その内部でtcf_ct_flow_table_get()がトリガーされます。rhashtable_lookup_fast()は、[1]の箇所でzones_htから対応するct_ftをRCU読み取りロック(rcu_read_lock()/rcu_read_unlock())で保護された状態で検索して返します。このRCUロックはオブジェクトの解放を防ぎますが、関数の戻り時点でrcu_read_unlock()がすでに呼ばれており、[2]のrefcount_inc_not_zero(&ct_ft->ref)が呼ばれるまでにct_ftが解放されてしまうことを防止できません。この期間がレースウィンドウとなり、ct_ftが解放されうる状態が発生します。解放処理はtcf_ct_cleanup()を経由し、call_rcu() -> tcf_ct_params_free_rcu() -> tcf_ct_params_free() -> tcf_ct_flow_table_put()が実行されます。tcf_ct_flow_table_put()内でrefcountが0になると、rhashtableからct_ftを削除し、tcf_ct_flow_table_cleanup_work()をRCUワークとしてスケジューリングします([3])。tcf_ct_flow_table_cleanup_work()は[4]でct_ftを解放します。この関数が[1]と[2]の間で実行されるとUAFが発生します。なお、このレース条件は非常に短いレースウィンドウであるため、トリガーは一般的に困難です。したがって、脆弱性検証のために[1]の後にmsleep(100)が挿入され、トリガーされています。
CVSS による深刻度 (CVSS とは?)

CVSS v3 による深刻度
基本値: 7.8 (重要) [その他]
  • 攻撃元区分: ローカル
  • 攻撃条件の複雑さ: 低
  • 攻撃に必要な特権レベル: 低
  • 利用者の関与: 不要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): 高
  • 完全性への影響(I): 高
  • 可用性への影響(A): 高
影響を受けるシステム


Linux
  • Linux Kernel 5.11 以上 5.15.209 未満
  • Linux Kernel 5.16 以上 6.1.175 未満
  • Linux Kernel 5.7 以上 5.10.258 未満
  • Linux Kernel 6.13 以上 6.18.33 未満
  • Linux Kernel 6.19 以上 7.0.10 未満
  • Linux Kernel 6.2 以上 6.6.141 未満
  • Linux Kernel 6.7 以上 6.12.91 未満

想定される影響

・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。
・当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。
・当該ソフトウェアが完全に停止する可能性があります。
対策

リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。
ベンダ情報

CWEによる脆弱性タイプ一覧  CWEとは?

  1. 解放済みメモリの使用(CWE-416) [NVD評価]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-46319
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-46319
  2. 関連文書 : net/sched: act_ct: Only release RCU read lock after ct_ft - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/f462dca0c8415bf0058d0ffa476354c4476d0f09)
  3. 関連文書 : net/sched: act_ct: Only release RCU read lock after ct_ft - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/3e20e1b3058e0b94638e7b931c138e840e266724)
  4. 関連文書 : net/sched: act_ct: Only release RCU read lock after ct_ft - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/a2e0c045c87aa252eb61412e67dd91f2c2b19f81)
  5. 関連文書 : net/sched: act_ct: Only release RCU read lock after ct_ft - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/4c727c6967a41b37efe0f26332ca9ec5b74785a3)
  6. 関連文書 : net/sched: act_ct: Only release RCU read lock after ct_ft - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/67c9ecc9f2575273ed1323e312881fc98ac83d6d)
  7. 関連文書 : net/sched: act_ct: Only release RCU read lock after ct_ft - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/17dfb67cb399b660105d9a8c6100851c0d0cdc70)
  8. 関連文書 : net/sched: act_ct: Only release RCU read lock after ct_ft - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/ece578ca61e572df96cfc80456357ebfae0b4b9e)
  9. 関連文書 : net/sched: act_ct: Only release RCU read lock after ct_ft - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/f23424a0ddadb494d4bd57056a7ca703312d3a7b)
更新履歴

  • [2026年07月10日]
      掲載