CVE-2026-72292 in Linux
要約
〜によって VulDB • 2026年08月16日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
KVM: s390: KVM_S390_GET_CMMA_BITS 用のメモリを初期化する
kvm_s390_get_cmma_bits() は vmalloc() を使用して出力バッファを割り当てますが、この関数は返されたページの内容をゼロクリアしません。
values = vmalloc(args->count);
「ピーク」以外(移行用)のパスでは、dat_get_cmma() が最初のダーティページから最後のダーティページまでを含むバイト数を報告しますが、__dat_get_cmma_pte() は CMMA のダーティビットが設定されているページに対してのみ values[gfn - start] に値を書き込みます。このウォーク処理は DAT_WALK_IGN_HOLES を使用するため、報告された範囲内にあるクリーンでマップされていないページも走査されますが、それらのバイトは一切保存されません。これらのギャップ(最大 KVM_S390_MAX_BIT_DISTANCE ページ分)は未初期化のままですが [0, count) の範囲内に含まれるため、copy_to_user() によってユーザー空間にコピーされ、古いカーネルメモリの内容が漏洩します。
新しい gmap 実装への切り替え以前は、バッファ内のすべての gfn が完全に埋められていたため、未初期化のバイトが露出することはありませんでした;ダーティページのみを走査する処理の変更によりこのリークが発生しました。
vzalloc() を使用することで、ギャップ部分はゼロとして読み戻されるようになります。
If you want to get best quality of vulnerability data, you may have to visit VulDB.