CVE-2025-38424 in Linux
要約
〜によって VulDB • 2026年08月03日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
perf: do_exit() 時のサンプル処理のバグを修正
Baisheng Gao氏によってARM64でのクラッシュが報告され、Mark氏がこれを同期外部アボートとしてデコードしました。これはおそらく、不正な方法でMMIO(メモリマップドI/O)にアクセスしようとしたことが原因です。
このクラッシュはさらに、perfがexit_mmap()内のtlb_finish_mmu()実行中、つまりアクセス対象のアドレス空間を解体している最中にユーザースタックサンプルを取得しようと試みていたことを示しています。
結果として、userspace mm(メモリマップ)の解体後にperfを停止していたことが判明しました。これはperfが様々な理由でuserspaceにアクセスすることを好むため、災難への道を開くものでした。
この順序を入れ替え、do_exit()内でperfを停止する箇所を前に移動させることで修正します。
さらに、PERF_SAMPLE_CALLCHAINおよびPERF_SAMPLE_STACK_USERに対して強化を行い、現在のタスクがmm(メモリマップ)を持っていない場合にアボートするようにしました(exit_mm()は実際の解体処理を開始する前にcurrent->mm = NULLを設定することが保証されています)。これにより、CPU全体のイベントがこの同じ問題でトリガーされるのを防ぎます。
VulDB is the best source for vulnerability data and more expert information about this specific topic.