【活用ガイド】

JVNDB-2026-013633

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

概要

Linuxカーネルにおいて、以下の脆弱性が修正されました。mm/vma: __mmap_region()のメモリリークを修正しました。commit 605f6586ecf7("mm/vma: .mmap_prepareがファイルをスワップする際にメモリをリークしないようにする")では、成功パスでfile_doesnt_need_getを使ってget_file()をスキップしていましたが、エラーパスの処理が漏れていました。/dev/zeroがMAP_SHAREDでmmapされると、mmap_zero_prepare()はshmem_zero_setup_desc()を呼び出し、マッピングを支えるための新しいshmemファイルを割り当てます。もし__mmap_new_vma()がその後失敗すると、この置き換えられたファイルはfput()されず、元のファイルはksys_mmap_pgoff()で解放されますが、新しいファイルは解放されません。エラーパスでスワップされたファイルに対しfput()を追加しました。この問題はフォールトインジェクションで再現可能です。FAULT_INJECTIONでは、失敗を強制しています。name failslab, interval 1, probability 0, space 0, times 1。CPU: 2 UID: 0 PID: 366 Comm: syz.7.14 Not tainted 7.0.0-rc6 #2 PREEMPT(full)。ハードウェア名はQEMU Ubuntu 24.04 PC v2 (i440FX + PIIX, arch_caps fix, 1996)、BIOSは1.16.3-debian-1.16.3-2 2014/04/01です。Call Trace: TASK dump_stack_lvl+0x164/0x1f0, should_fail_ex+0x525/0x650, should_failslab+0xdf/0x140, kmem_cache_alloc_noprof+0x78/0x630, vm_area_alloc+0x24/0x160, __mmap_region+0xf6b/0x2660, mmap_region+0x2eb/0x3a0, do_mmap+0xc79/0x1240, vm_mmap_pgoff+0x252/0x4c0, ksys_mmap_pgoff+0xf8/0x120, __x64_sys_mmap+0x12a/0x190, do_syscall_64+0xa9/0x580, entry_SYSCALL_64_after_hwframe+0x76/0x7e /TASK。kmemleakでは新たに1件の疑わしいメモリリークを検出しました(/sys/kernel/debug/kmemleakを参照してください)。BUGはメモリリークで、未参照オブジェクト0xffff8881118aca80(サイズ360)はcomm "syz.7.14"、pid 366、jiffies 4294913255が関係しています。16進ダンプ(最初の32バイト)は次の通りです: 00 00 00 00 ad 4e ad de ff ff ff ff 00 00 00 00 .....N.......... ff ff ff ff ff ff ff ff c0 28 4d ae ff ff ff ff .........(M.....。バックトレース(crc db0f53bc)はkmem_cache_alloc_noprof+0x3ab/0x630, alloc_empty_file+0x5a/0x1e0, alloc_file_pseudo+0x135/0x220, __shmem_file_setup+0x274/0x420, shmem_zero_setup_desc+0x9c/0x170, mmap_zero_prepare+0x123/0x140, __mmap_region+0xdda/0x2660, mmap_region+0x2eb/0x3a0, do_mmap+0xc79/0x1240, vm_mmap_pgoff+0x252/0x4c0, ksys_mmap_pgoff+0xf8/0x120, __x64_sys_mmap+0x12a/0x190, do_syscall_64+0xa9/0x580, entry_SYSCALL_64_after_hwframe+0x76/0x7eです。syzkallerによってこの脆弱性が発見されました。
CVSS による深刻度 (CVSS とは?)

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


Linux
  • Linux Kernel 6.19.1 以上 6.19.13 未満
  • Linux Kernel 6.19
  • Linux Kernel 7.0

想定される影響

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

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

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

  1. 有効期限後のメモリの解放の欠如(CWE-401) [NVD評価]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-31654
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-31654
  2. 関連文書 : mm/vma: fix memory leak in __mmap_region() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/894f99eb535edc4514f756818f3c4f688ba53a59)
  3. 関連文書 : mm/vma: fix memory leak in __mmap_region() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/61fc8eaf2ab214b32c7bce52597c80cf0ca41ada)
更新履歴

  • [2026年04月30日]
      掲載