【活用ガイド】

JVNDB-2026-020075

LinuxのLinux Kernelにおける不特定の脆弱性

概要

Linuxカーネルにおいて、以下の脆弱性が修正されました。tcpのリスナー移行後にsk_data_ready()を呼び出すinet_csk_listen_stop()が、確立された子ソケットを終了中のリスナーから同じSO_REUSEPORTグループ内の別ソケットへ移行する際、対象リスナーはinet_csk_reqsk_queue_add()経由で新しいacceptキューエントリを取得しますが、その経路では対象リスナーの待機者に通知が一切行われません。ノンブロッキングのaccept()はキューを直接確認するため動作しますが、poll()/epoll_wait()の待機者やブロッキングaccept()の呼び出し元は無期限にスリープ状態のままになる可能性があります。inet_csk_listen_stop()内で移行が成功した後にREAD_ONCE(nsk-sk_data_ready)(nsk)を呼び出すようにしました。しかしながら、inet_csk_reqsk_queue_add()の成功後、reuseport_migrate_sock()で取得された参照は実質的にnreq-rsk_listenerに移行します。別のCPUがaccept()またはリスナーのシャットダウンを介してnreqをデキューし、reqsk_put()を実行してそのリスナー参照を解放する可能性があります。リスナーはSOCK_RCU_FREEであるため、queue_add()後のnskの参照解除はrcu_read_lock()/rcu_read_unlock()でラップし、その経路の既存sock_net(nsk)アクセスもカバーしています。reqsk_timer_handler()パスには以下の2つの理由で同様の変更は不要です。半開要求は最終ACK後にのみ読み取り可能となり、tcp_child_process()が既にリスナーを起こすこと、およびnreqがinet_ehash_insert()を通じて可視化された後、成功した経路はもはや直接nskに触れなくなることです。
CVSS による深刻度 (CVSS とは?)

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


Linux
  • Linux Kernel 5.14 以上 5.15.209 未満
  • Linux Kernel 5.16 以上 6.1.175 未満
  • Linux Kernel 6.13 以上 6.18.27 未満
  • Linux Kernel 6.19 以上 7.0.4 未満
  • Linux Kernel 6.2 以上 6.6.140 未満
  • Linux Kernel 6.7 以上 6.12.86 未満

想定される影響

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

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

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

  1. 情報不足(CWE-noinfo) [NVD評価]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-46015
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-46015
  2. 関連文書 : tcp: call sk_data_ready() after listener migration - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/14e9bb6eba8f59dcc637702e4744ae5e30660d76)
  3. 関連文書 : tcp: call sk_data_ready() after listener migration - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/83bb57635d7cbafde32f865b577ecfd969f02337)
  4. 関連文書 : tcp: call sk_data_ready() after listener migration - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/3864c6ba1e041bc75342353a70fa2a2c6f909923)
  5. 関連文書 : tcp: call sk_data_ready() after listener migration - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/7aa7933a5607b1e5b56f322d17265c1d0ea02c51)
  6. 関連文書 : tcp: call sk_data_ready() after listener migration - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/12625b4da84caf4d84a04988710a7b9bcf702b18)
  7. 関連文書 : tcp: call sk_data_ready() after listener migration - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/ab5fdcd535645f6dbe6e9e21d96a08d141e88b4b)
  8. 関連文書 : tcp: call sk_data_ready() after listener migration - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/bebd058ef40c67a81fe6d9ee8beaa4ede90e0704)
更新履歴

  • [2026年06月17日]
      掲載