【活用ガイド】

JVNDB-2026-023802

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

概要

Linuxカーネルにおいて、以下の脆弱性が修正されました:「wireguard: device: enable threaded NAPI」のリバートです。これは、アップストリームのコミットdb9ae3b6b43c79b1ba87eea849fd65efa05b4b2eに対応する933466fc50a8e4eb167acbd0d8ec96a078462e9cのコミットを元に戻すものです。CiliumがWireGuardを暗号化の基盤として利用しているk8s Podの東西トラフィックが特定のピアノード間で完全に停止する現象について、3件の独立した本番環境のユーザーレポートを受けています。状況は以下の通りです。 - 発生頻度は非常に低いですが、重いネットワーク負荷のもとでランダムに発生します。 - 問題が発生すると、そのWireGuardピアに対する復号側処理が完全に停止し、他のピアは正常に動作し続けます。新規接続も該当ピアへのものは停止します。 - 影響を受けるのは復号側だけであり、暗号化側は影響を受けません。 - 発生後は回復せず、その状態が維持されます。CPUやメモリの状態は正常で、リークや忙しいループ、クラッシュも見られません。 - 影響を受けたシステムでのbpftrace解析ではwg_prev_queue_enqueueが失敗し、ピアのrx_queue向けのMAX_QUEUED_PACKETS(1024 skbs)に達していることが確認されました。 - また、その状態に達した後はwg_packet_rx_pollが該当ピアに対して呼ばれなくなる一方で、他のピアには通常通り呼ばれていることも判明しています。 - コミットdb9ae3b("wireguard: device: enable threaded NAPI")によりWireGuardはデフォルトでスレッド化されたNAPIに切り替わりました。この切り替えが問題発生のトリガーであり、CPUのホットプラグも起きていません(例:5bd8de2コミットによるCPUマスク選択の変更)。 - v5.15系およびv6.1系の安定カーネルで問題が観察されており、v5.10系安定カーネルでは問題が報告されていません。v6.6系でも報告はありません(関連した議論は[0]参照)。 - WireGuardドライバー内でv5.10からv5.15への主な違いはデフォルトでスレッド化されたNAPIへの切り替えです。問題の詳細な解析は以下の通りです。1) 復号に到着したskbsは、wg_packet_consume_data内のwg_queue_enqueue_per_device_and_peerを通じてpeer->rx_queueに入れられます。2) この関数はwg_prev_queue_enqueueにより、MAX_QUEUED_PACKETS(1024)を超えない場合のみMPSCピアキューにskbを移動させます。3) エンキューが成功すると、skbはデバイスキューにも入れられ、ラウンドロビンで次のオンラインCPUが選ばれ、復号ワーカーがスケジュールされます。4) スケジュールされたwg_packet_decrypt_workerはキューからskbを取得し復号処理を行い、成功後wg_queue_enqueue_per_peer_rxを呼び出します。5) その関数は成功時に状態をPACKET_STATE_CRYPTEDに更新し、ピアごとのnapiインスタンスでnapi_scheduleを呼び出します。6) NAPIはwg_packet_rx_pollでポーリングします。wg_prev_queue_peekはpeer->rx_queueをチェックし、キャッシュされていなければwg_prev_queue_dequeueを呼び出し、そうでなければキャッシュ済みskbを返します(後にwg_prev_queue_drop_peekedでキャッシュはクリアされます)。7) 順序の観点では、peer->rx_queueにはskbが順序通りに存在している一方、デバイスキューの各CPUワーカースレッドはグローバルな順序の観点から復号を完了し、skbをPACKET_STATE_CRYPTEDに状態変更して非順序に処理しています。8) システムが負荷下にあると、最初に来たパケットが復号ワーカーのスケジュールを長時間待たされる状況が観察されます。9) 他のCPUはその間に復号を終え、napi_scheduleを呼びます。10) wg_packet_rx_pollはpeer->rx_queueから順番にskbを取り出しますが、最初のskbの状態がまだPACKET_STATE_UNCRYPTEDのままであるのを見て、NAPIポーリング処理はそこで終了します。---文章は途中で切れていますが、以上が脆弱性の説明とトラブルシューティング状況の要約です。
CVSS による深刻度 (CVSS とは?)

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


Linux
  • Linux Kernel 5.15.186 以上 5.15.201 未満
  • Linux Kernel 6.1.142 以上 6.1.164 未満
  • Linux Kernel 6.12.34 以上 6.12.74 未満
  • Linux Kernel 6.15.3 以上 6.16 未満
  • Linux Kernel 6.6.94 以上 6.6.127 未満

想定される影響

・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。
・当該ソフトウェアが扱う情報について、書き換えは発生しません。
・当該ソフトウェアが完全に停止する可能性があります。
対策

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

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

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

  1. CVE-2026-52945
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-52945
  2. 関連文書 : https://git.kernel.org/stable/c/42bc3f45425b607a5ca7b7aaaab661b54407c8f8
  3. 関連文書 : Revert "wireguard: device: enable threaded NAPI" - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/cfdb22762f903d95c36ab91e9fe6167f22fa9f6d)
  4. 関連文書 : Revert "wireguard: device: enable threaded NAPI" - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/e94b369ff82f9bc84f090f271bd78f41c9f6ab2f)
  5. 関連文書 : Revert "wireguard: device: enable threaded NAPI" - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/168ee1549fa24fff2ab924a2ca7b1d85f30e062d)
更新履歴

  • [2026年07月16日]
      掲載