【活用ガイド】

JVNDB-2026-023065

LinuxのLinux Kernelにおける複数の脆弱性

概要

Linuxカーネルにおいて、以下の脆弱性が修正されました。net: skbuff: pskb_carveヘルパー内のゼロコピー参照の欠落を修正しました。pskb_carve_inside_header()とpskb_carve_inside_nonlinear()は共に、古いskb_shared_infoヘッダーをmemcpy()経由で新しいバッファにコピーしており、これにはMSG_ZEROCOPYスキューで使われるdestructor_argポインタ(uarg)が含まれています。どちらの関数も新しいshinfoに対してnet_zcopy_get()を呼び出していなかったため、適切に管理されないホルダーが作成されていました。destructor_argが設定されたskb_shared_infoは解放時にskb_zcopy_clear()を1回呼び出しますが、新しいコピーに対して対応するnet_zcopy_get()が呼ばれていません。複数回の呼び出しによりuarg->refcntが早期にゼロとなり、TXスキューが実際にdestructor_argポインタを保持しているにもかかわらず、ubuf_info_msgzcが解放されてしまいます。KASANは解放済みのubuf_info_msgzcに対するuse-after-freeを報告しました。具体的には以下の通りです。BUG: KASAN: slab-use-after-free in skb_release_data+0x77b/0x810 タスクpoc/220によるaddr ffff88801574d3e8の8バイト読み取り コールトレース: skb_release_data+0x77b/0x810 kfree_skb_list_reason+0x13e/0x610 skb_release_data+0x4cd/0x810 sk_skb_reason_drop+0xf3/0x340 skb_queue_purge_reason+0x282/0x440 rds_tcp_inc_free+0x1e/0x30 rds_recvmsg+0x354/0x1780 __sys_recvmsg+0xdf/0x180 タスク219による割り当て: msg_zerocopy_realloc+0x157/0x7b0 tcp_sendmsg_locked+0x2892/0x3ba0 タスク219によって解放: ip_recv_error+0x74a/0xb10 tcp_recvmsg+0x475/0x530 遅延アクセス時に使用されたskbは、refcount増加なしにpskb_carve_inside_nonlinear()がコピーしたshinfo->destructor_arg経由で同じuargを参照していました。これが信頼性高く悪用可能であることが検証されており、動作する概念実証によってデフォルトカーネル設定の非特権ローカルユーザーから完全なroot権限昇格が達成されています。修正は、同様のmemcpyやクローン構造を持つpskb_expand_head()のパターンに従っています。pskb_carve_inside_header()では、skb_orphan_frags()成功後にnet_zcopy_get()を配置し、孤立エラー経路のクリーンアップを不要にしました。pskb_carve_inside_nonlinear()では、全失敗ポイントの後かつskb_release_data()直前にnet_zcopy_get()を配置し、エラー経路のクリーンアップを不要にしています。これによりpskb_expand_head()に近づき、対応するnet_zcopy_put()を必要としません。
CVSS による深刻度 (CVSS とは?)

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


Linux
  • Linux Kernel 4.7 以上 5.10.259 未満
  • Linux Kernel 5.11 以上 5.15.210 未満
  • Linux Kernel 5.16 以上 6.1.176 未満
  • Linux Kernel 6.13 以上 6.18.35 未満
  • Linux Kernel 6.19 以上 7.0.12 未満
  • Linux Kernel 6.2 以上 6.6.143 未満
  • Linux Kernel 6.7 以上 6.12.93 未満
  • Linux Kernel 7.1

本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。
想定される影響

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

ベンダ情報を参照して適切な対策を実施してください。
ベンダ情報

レッドハット
CWEによる脆弱性タイプ一覧  CWEとは?

  1. 解放済みメモリの使用(CWE-416) [NVD評価]
  2. 参照カウントの不適切な更新(CWE-911) [その他]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-52943
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-52943
  2. 関連文書 : net: skbuff: fix missing zerocopy reference in pskb_carve helpers - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/fd470f0a97b8e9a125f520265d2f3b088ffb5b8a)
  3. 関連文書 : net: skbuff: fix missing zerocopy reference in pskb_carve helpers - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/474d6c771d798bca84f0a140b611e36743511e18)
  4. 関連文書 : net: skbuff: fix missing zerocopy reference in pskb_carve helpers - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/98d0912e9f841e5529a5b89a972805f34cb1c69d)
  5. 関連文書 : net: skbuff: fix missing zerocopy reference in pskb_carve helpers - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/8dbed691e43a50903658130bde0fcb5abc425b37)
  6. 関連文書 : net: skbuff: fix missing zerocopy reference in pskb_carve helpers - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/96a4713ae041cc85e712bac682cd2e644004d6c6)
  7. 関連文書 : net: skbuff: fix missing zerocopy reference in pskb_carve helpers - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/2e0e74c59b2761a414d9f48d7bee1e45220b2427)
  8. 関連文書 : net: skbuff: fix missing zerocopy reference in pskb_carve helpers - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/9b40bdc2a3298225dffab8158208a0d8c6300578)
  9. 関連文書 : net: skbuff: fix missing zerocopy reference in pskb_carve helpers - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/ceafb893b12f23331dcc5ff9587e643c3a40ee9f)
更新履歴

  • [2026年07月10日]
      掲載