vs gauge
区分
JVN番号
タイトル
JVN
深刻度
最終更新日
CVE番号
New
JVNDB-2026-025015

LinuxのLinux Kernelにおける解放済みメモリの使用に関する脆弱性

7.8
2026/07/24 17:24
CVE-2026-53109
JVNDB-2026-025015
LinuxのLinux Kernelにおける解放済みメモリの使用に関する脆弱性
概要
Linuxカーネルにおいて、以下の脆弱性が修正されました。powerpc/pgtable-frag:pte_frag_destroyにおける不正なページ状態の修正。powerpcは、pt_frag_refcountを参照カウンタとして使用し、pteおよびpmdのページテーブル断片を追跡しています。PTEテーブルでは、64Kページサイズのハッシュ方式の場合、1つの64Kページに4Kサイズの断片が16個存在します。パッチシリーズ[1]「mm: free retracted page table by RCU」では、shmemレンジのmadvise MADV_COLLAPSE呼び出しでretract_page_tables()が実行された際に、PTEテーブルの解放を遅延させるためのpte_free_defer()が追加されました。[1]: https://lore.kernel.org/all/7cd843a9-aa80-14f-5eb2-33427363c20@google.com/ pte_free_defer()は該当する断片のfolioにactiveフラグをセットし、pte_fragment_free()を呼び出してpt_frag_refcountを減らします。pt_frag_refcountが0になると(folioを使用しているアクティブな断片がない場合)、folioのactiveフラグがセットされているかを確認し、セットされていればcall_rcuを呼んでfolioを解放し、セットされていなければpte_free_now()を呼び出します。しかし、これにより以下のようなコーナーケースの問題が発生する可能性があります。[ 265.351553][ T183] BUG: Bad page state in process a.out pfn:20d62[ 265.353555][ T183] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x20d62...(省略)この不正なページ状態エラーは、activeフラグがセットされたままfolioが並行してdo_exit()パスから解放されると発生します。この状況は、pte断片がこのfolioから割り当てられ、すべての断片が解放されたにもかかわらず、pt_frag_refcountに未使用の断片が残っている場合に発生します。このプロセスが終了すると、このfolioがmm->contextのキャッシュされたpte_fragとして存在する状態になります。pte_frag_destroy()内で単純にpagetable_dtor()とpagetable_free()を呼び出しますが、activeフラグはクリアされません。これが上述のバグの原因となる動作です。do_exit()パスにいる場合、参照カウントが0であれば、pagetable_dtor()とpagetable_free()を呼び出す前にfolioのactiveフラグを単純にクリアしても問題はありません。
想定される影響と対策
・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 ・当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 ・当該ソフトウェアが完全に停止する可能性があります。
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。
JVN情報 ※( )内はCVSS v2の値
深刻度 7.8
CVECVE-2026-53109
公表日2026/06/24 00:00
登録日2026/07/24 17:24
更新日2026/07/24 17:24
CVSS v3情報
全ての情報を閲覧するにはユーザー登録(無料)またはログインが必要です。