LinuxのLinux Kernelにおける有効期限後のメモリの解放の欠如に関する脆弱性
タイトル LinuxのLinux Kernelにおける有効期限後のメモリの解放の欠如に関する脆弱性
概要

Linuxカーネルにおいて、以下の脆弱性が修正されました。tunデバイスの分離されたNAPIキューに対するメモリリークの問題です。syzkallerによってTUNデバイスに関連するskおよびskbのメモリリークが報告されましたが、再現できませんでした。しかし、以下の手順で容易に再現可能です。struct ifreq ifr = {}; int fd_tun, fd_tmp; char buf[4] = {}; fd_tun = openat(AT_FDCWD, "/dev/net/tun", O_WRONLY, 0); ifr.ifr_flags = IFF_TUN | IFF_NAPI | IFF_MULTI_QUEUE; ioctl(fd_tun, TUNSETIFF, &ifr); ifr.ifr_flags = IFF_DETACH_QUEUE; ioctl(fd_tun, TUNSETQUEUE, &ifr); fd_tmp = socket(AF_PACKET, SOCK_PACKET, 0); ifr.ifr_flags = IFF_UP; ioctl(fd_tmp, SIOCSIFFLAGS, &ifr); write(fd_tun, buf, sizeof(buf)); close(fd_tun); TUNデバイスでNAPIおよびマルチキューを有効にすると、キューが分離された後でもskbをtfile-sk.sk_write_queueに挿入可能になる事象が発生します。これを防ぐためには、skbをキューに入れる前にtfile-detachedをチェックすべきです。この処理はwrite()とioctl(IFF_DETACH_QUEUE)が同時に実行され得るため、tfile-sk.sk_write_queue.lockの下で行う必要があります。そうしなければ、write()がtfile-detachedをfalseと判定してskbをキューに入れた直後にioctl()がtfile-detachedをtrueにしキューを消去するという小さな競合状態が発生します。もう一つの解決策としては、切断されたキューを閉じて再接続する際にtun_queue_purge()を呼び出す方法がありますが、それは他の問題を覆い隠す可能性があります。また、同様のテストはIFF_NAPI_FRAGSについても実施しています。

想定される影響 当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 また、当該ソフトウェアが扱う情報について、書き換えは発生しません。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 
対策

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

公表日 2025年10月7日0:00
登録日 2026年2月5日15:47
最終更新日 2026年2月5日15:47
CVSS3.0 : 警告
スコア 5.5
ベクター CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
影響を受けるシステム
Linux
Linux Kernel 3.8 以上 6.1.30 未満
Linux Kernel 6.2 以上 6.3.4 未満
Linux Kernel 6.4
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
その他
変更履歴
No 変更内容 変更日
1 [2026年02月05日]
  掲載
2026年2月5日15:47