VRDA Feed by JPCERT/CC
  Vulnerability Response Decision Assistance Feed : 脆弱性脅威分析用情報の定型データ配信
[ about VRDA Feed | JPCERT/CC



 
分析対象脆弱性情報 (リビジョン番号 : 1) [ Download XML
JVNDB-2026-024877     ( CVE-2026-53360 | CVE-2026-53360 )
LinuxのLinux Kernelにおける境界外読み取りに関する脆弱性
https://jvndb.jvn.jp/ja/contents/2026/JVNDB-2026-024877.html

原文

Linuxカーネルにおいて、以下の脆弱性が修正されました。KVM: SEV: GHCB v2以降を使用する場合、GHCBのscratch領域の必須化が行われました。GHCB仕様に準じて、GHCB v2以降を使用する際はソフトウェア用のscratch領域を必ずGHCBの共有バッファに配置しなければなりません。なお、Page State Change(PSC)リクエストなどはこの動作に依存しており、ゲストはリクエスト時に長さを指定できないため、ゲストのペイロードのサイズは共有バッファのサイズによって制限されます。GHCBの利用を強制しなかったことやその他の複数の欠陥により、悪意のあるSNPゲストがホストカーネルのヒープメモリを破壊したり、ホストのヒープレイアウト情報を漏洩させたりできてしまいます。setup_vmgexit_scratch()はguest制御下のexit_info_2を使ってkvzalloc(exit_info_2)によりバッファを割り当てます。exit_info_2=24の場合、kmalloc-cg-32(32バイトスラブオブジェクト)の24バイトが割り当てられます。このバッファは8バイトのpsc_hdrと8バイトのpsc_entry構造体の配列を保持し、entries[0]とentries[1]のみが範囲内にあります。snp_begin_psc()はend_entryをVMGEXIT_PSC_MAX_COUNT(253)に対して検証しますが、実際のバッファサイズに対しては検証しません。 idx_end = hdr->end_entry; if (idx_end >= VMGEXIT_PSC_MAX_COUNT) { snp_complete_psc(svm, ...); return 1; } for (idx = idx_start; idx <= idx_end; idx++) { entry_start = entries[idx]; // idx >= 2で範囲外アクセスゲストがend_entry=10以上を設定すると、ホストはentries[2]以上を走査し、隣接するスラブオブジェクトへOOBアクセスを行います。各OOBエントリに対しては以下のことが発生します。 - ホストは8バイトを読み取る(OOBリード/情報漏洩のオラクル)。 - データがPSC検証に通ると__snp_complete_one_psc()によりcur_page=1または512がエントリに書き込まれる(OOBライト、sev.c:3806)。 - 検証失敗時のエラー応答は隣接メモリがゼロか非ゼロかを判別させ、ゲストへの情報開示につながる可能性があります。ゲストは割り当てサイズ(exit_info_2)とエントリ範囲(cur_entry/end_entry)の制御により、無制限にVMGEXITを発火させて異なるスラブ位置を繰り返し攻撃可能です。これらの複数の脆弱性を悪用することで、悪意あるSEV-SNPゲストは以下の行為を実現できます。 - 隣接するkmalloc-cg-32オブジェクトをOOB読み取りしヒープレイアウト情報を漏洩する。 - 隣接オブジェクトへcur_pageビットを書き込みヒープ破損を引き起こす。 - 複数VMGEXITを跨いだuse-after-free状態を誘発する。例えばKASAN有効時にPoCゲストモジュールを一度insmodするだけで73件のKASANレポートが生成されます。 BUG: KASAN: slab-out-of-bounds in snp_begin_psc+0x126/0x890 Read of size 8 at addr ffff888219ffb5e0 by task qemu-system-x86/2199 BUG: KASAN: slab-out-of-bounds in snp_begin_psc+0x468/0x890 Write of size 8 at addr ffff888351566648 by task qemu-system-x86/2199バグのあるアドレスはkmalloc-cg-32キャッシュに属し、32バイトのオブジェクトの右側Nバイト目に位置しています。内訳は以下のとおりです。 - 62件のスラブ範囲外アクセス(読み書き) - 7件のスラブuse-after-free - 4件のuse-after-free詳細な説明と再現コードの提供については、Stan氏にすべての功績があります。

翻訳   (表示)





この情報について
分析情報提供元:
JVN iPedia
初版公開日:
2026-07-24
分析対象脆弱性情報の分類:
アドバイザリ・注意喚起
最終更新日:
2026-07-24




脆弱性の影響を受ける製品の識別子
cpe:/o:linux:linux_kernel
 


脆弱性の分析内容
[攻撃元区分]  [?]
未評価 [?]

ローカル [?]
隣接 [?]
ネットワーク [?]

[攻撃条件の複雑さ]  [?]
未評価 [?]

 [?]
 [?]
 [?]

[攻撃前の認証要否]  [?]
未評価 [?]

複数 [?]
単一 [?]
不要 [?]

[機密性への影響]  [?]
未評価 [?]

影響なし [?]
部分的 [?]
全面的 [?]

[完全性への影響]  [?]
未評価 [?]

影響なし [?]
部分的 [?]
全面的 [?]

[可用性への影響]  [?]
未評価 [?]

影響なし [?]
部分的 [?]
全面的 [?]

関連情報
Common Vulnerabilities and Exposures (CVE) CVE-2026-53360




National Vulnerability Database (NVD) CVE-2026-53360








参考情報
JVNDB CWE-125 境界外読み取り




関連文書 KVM: SEV: Require in-GHCB scratch area if GHCB v2+ is in use - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/bf9ba093fbb83c0c9a3dedd50efec29424eca2fc)




関連文書 KVM: SEV: Require in-GHCB scratch area if GHCB v2+ is in use - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/c9b4198fbc6ed99a9da4bee9f74bb730f926c9ae)




関連文書 KVM: SEV: Require in-GHCB scratch area if GHCB v2+ is in use - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/db3f2195d29344a3cf1e9dd9ab7f21ced7308cf7)




関連文書 KVM: SEV: Require in-GHCB scratch area if GHCB v2+ is in use - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/b328ede59ac34e7998e1eee5e5f0cc26c2a91846)





Copyright © 2026 JPCERT/CC All Rights Reserved.