LinuxのLinux Kernelにおける解放済みメモリの使用に関する脆弱性
タイトル LinuxのLinux Kernelにおける解放済みメモリの使用に関する脆弱性
概要

Linuxカーネルにおいて、以下の脆弱性が修正されました。fbdev: udlfbのdlfb_ops_mmapにvm_opsを追加し、use-after-freeを防止します。dlfb_ops_mmap()はremap_pfn_range()を使用してvmallocのフレームバッファページをユーザースペースにマップしますが、VMAに対してvm_opsを設定していませんでした。そのため、カーネルはアクティブなmmapを追跡できません。dlfb_realloc_framebuffer()がFBIOPUT_VSCREENINFO経由でバックバッファを置き換えると、既存のmmap PTEは無効化されません。USB切断時にdlfb_ops_destroy()は古いページに対してvfree()を呼び出しますが、ユーザースペースのPTEはそれらを参照したままで、use-after-freeが発生します。プロセスは解放されたカーネルページへの読み書きアクセスを保持してしまいます。open/closeコールバックを持つvm_operations_structを追加し、struct dlfb_dataのatomic mmap_countを管理します。dlfb_realloc_framebuffer()ではmmap_countをチェックし、バッファが現在マップされていれば-EBUSYを返して、ユーザースペースが古いPTEを保持している間のバッファ置換を防止します。PoCを使用し、dummy_hcdとraw_gadget USBデバイスエミュレーションによってテスト済みです。

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

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

公表日 2026年5月21日0:00
登録日 2026年6月29日11:18
最終更新日 2026年6月29日11:18
CVSS3.0 : 重要
スコア 7.3
ベクター CVSS:3.0/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H
影響を受けるシステム
Linux
Linux Kernel 4.19 以上 5.10.258 未満
Linux Kernel 5.11 以上 5.15.209 未満
Linux Kernel 5.16 以上 6.1.175 未満
Linux Kernel 6.13 以上 6.18.30 未満
Linux Kernel 6.19 以上 7.0.7 未満
Linux Kernel 6.2 以上 6.6.140 未満
Linux Kernel 6.7 以上 6.12.88 未満
Linux Kernel 7.1
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
その他
変更履歴
No 変更内容 変更日
1 [2026年06月29日]
  掲載
2026年6月29日11:18

NVD脆弱性情報
CVE-2026-43497
概要

In the Linux kernel, the following vulnerability has been resolved:

fbdev: udlfb: add vm_ops to dlfb_ops_mmap to prevent use-after-free

dlfb_ops_mmap() uses remap_pfn_range() to map vmalloc framebuffer pages
to userspace but sets no vm_ops on the VMA. This means the kernel cannot
track active mmaps. When dlfb_realloc_framebuffer() replaces the backing
buffer via FBIOPUT_VSCREENINFO, existing mmap PTEs are not invalidated.
On USB disconnect, dlfb_ops_destroy() calls vfree() on the old pages
while userspace PTEs still reference them, resulting in a use-after-free:
the process retains read/write access to freed kernel pages.

Add vm_operations_struct with open/close callbacks that maintain an
atomic mmap_count on struct dlfb_data. In dlfb_realloc_framebuffer(),
check mmap_count and return -EBUSY if the buffer is currently mapped,
preventing buffer replacement while userspace holds stale PTEs.

Tested with PoC using dummy_hcd + raw_gadget USB device emulation.

公表日 2026年5月21日22:16
登録日 2026年5月22日4:07
最終更新日 2026年5月23日1:33
関連情報、対策とツール
共通脆弱性一覧