| タイトル | LinuxのLinux Kernelにおける二重解放に関する脆弱性 |
|---|---|
| 概要 | Linuxカーネルにおいて、以下の脆弱性が修正されました。mm/alloc_tagでは、page_extの初期化前に割り当てられたページのcodetagをクリアする必要があります。初期化の順序の都合上、page_extは起動時に比較的遅く割り当ておよび初期化されます。一部のページはpage_extが利用可能になる前にすでに割り当てられ解放されており、そのcodetagが未初期化のまま残っていました。具体的には、init_section_page_ext()内でalloc_page_ext()がkmemleak_alloc()を呼び出します。スラブキャッシュに空きオブジェクトがない場合、メモリ割り当てはバディアロケータへフォールバックします。しかし、この時点ではpage_extがまだ完全に初期化されていないため、新たに割り当てられたページにはcodetagが設定されません。これらのページは後にKASANによって再利用され、解放時にまだcodetag参照が空であるため警告が発生します。page_extの完全な初期化前に割り当てられたページを追跡するためにグローバル配列を使用しています。その配列のサイズは8192エントリに固定されており、この制限を超えると警告が表示されます。page_extの初期化が完了した時点で、これらのページのcodetagを空に設定し、後の解放時に警告が出ないようにしています。この警告はCONFIG_MEM_ALLOC_PROFILING_DEBUG=Yかつmem_profiling_compressedが無効の場合にのみ確認されています。【警告例】[ 9.582133] ------------[ cut here ]------------[ 9.582137] alloc_tag was not set[ 9.582139] WARNING: ./include/linux/alloc_tag.h:164 at __pgalloc_tag_sub+0x40f/0x550, CPU#5: systemd/1...(以下、省略) |
| 想定される影響 | ・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 ・当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 ・当該ソフトウェアが完全に停止する可能性があります。 |
| 対策 | リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 |
| 公表日 | 2026年6月8日0:00 |
| 登録日 | 2026年7月10日10:28 |
| 最終更新日 | 2026年7月10日10:28 |
| CVSS3.0 : 重要 | |
| スコア | 7.8 |
|---|---|
| ベクター | CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| Linux |
| Linux Kernel 6.10 以上 6.18.27 未満 |
| Linux Kernel 6.19 以上 7.0.4 未満 |
| No | 変更内容 | 変更日 |
|---|---|---|
| 1 | [2026年07月10日] 掲載 |
2026年7月10日10:28 |
| 概要 | In the Linux kernel, the following vulnerability has been resolved: mm/alloc_tag: clear codetag for pages allocated before page_ext initialization Due to initialization ordering, page_ext is allocated and initialized A clear example is in init_section_page_ext(): alloc_page_ext() calls Use a global array to track pages allocated before page_ext is fully This warning is only observed with CONFIG_MEM_ALLOC_PROFILING_DEBUG=Y and [ 9.582133] ------------[ cut here ]------------ |
|---|---|
| 公表日 | 2026年6月9日2:16 |
| 登録日 | 2026年6月9日4:15 |
| 最終更新日 | 2026年6月9日2:16 |