JVNDB-2025-025027 | |
Debian等の複数ベンダの製品における不特定の脆弱性 | |
| 概要 | |
Linuxカーネルにおいて、以下の脆弱性が修正されました。mmでは、ページテーブル同期の宣言をlinux/pgtable.hに移動しました。内部テスト中に、4レベルページングを使用し大量の永続メモリを搭載したマシンで断続的な起動失敗が観測されました。具体的には、ページフォルトを処理できず、カーネルモードのスーパーバイザ書き込みアクセスでクラッシュする問題が発生しました。原因は、vmemmap(struct page配列)を初期化する際、vmemmap領域が2つのPGDエントリにまたがる場合に、init_mm.pgdにのみ新しいPGDエントリをインストールし、他のタスクのページテーブルにはインストールされない点にありました。__populate_section_memmap()の中で、vmemmap_can_optimize()が真を返す場合、最適化されたパスはトップレベルのページテーブル同期をスキップします。しかしこれは、vmemmap_populate_compound_pages()がコアMMコードに実装されており、トップレベルページテーブルの同期を扱わず、代わりに各アーキテクチャ側で手動同期を行う設計によるものです。この設計は同期忘れやカーネルが同期前にvmemmapや直接マッピング領域にアクセスしてしまう問題を招きやすく、脆弱性を引き起こしました。これに対し、Dave Hansenは{pgd,p4d}_populate_kernel()を導入し、カーネル側のページテーブル更新とトップレベルエントリの同期を明示的に行えるよう提案しました。この新インターフェースは既存のARCH_PAGE_TABLE_SYNC_MASK、PGTBL_P*D_MODIFIED、arch_sync_kernel_mappings()を利用しており、同期漏れのリスクを低減しコードの堅牢性を向上させています。pgd_populate_kernel()の実装例は、init_mmを用いてpgdを設定した後、同期フラグがセットされていればarch_sync_kernel_mappings()を呼び出します。なお、vmalloc()やapply_to_range()はp*d_alloc_track()とarch_sync_kernel_mappings()を適切に呼び出してページテーブル同期を行うため、この問題の影響を受けません。 | |
| CVSS による深刻度 (CVSS とは?) | |
|
CVSS v3 による深刻度
基本値: 5.5 (警告) [NVD値]
| |
| 影響を受けるシステム | |
|
| |
Debian | |
本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。 | |
| 想定される影響 | |
当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 | |
| 対策 | |
正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
Debian | |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2025/09/19 |
| 登録日 | 2026/01/22 |
| 最終更新日 | 2026/01/22 |



