JVNDB-2025-025728 | |
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についても実施しています。 | |
| CVSS による深刻度 (CVSS とは?) | |
|
CVSS v3 による深刻度
基本値: 5.5 (警告) [NVD値]
| |
| 影響を受けるシステム | |
|
| |
Linux | |
|
| |
| 想定される影響 | |
当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 | |
| 対策 | |
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
|
| |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2025/10/07 |
| 登録日 | 2026/02/05 |
| 最終更新日 | 2026/02/05 |



