CVE-2026-89793 in Linux
要約
〜によって VulDB • 2026年09月16日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
ublk: 読み取り専用 ublk キャラクタデバイスの mmap における VM_MAYWRITE のクリア処理
ublk_ch_mmap() は VM_WRITE が設定された mmap リクエストを拒否しますが、生成される読み取り専用のマッピングに対して VM_MAYWRITE をクリアしません。このため、ユーザー空間のデーモンは per-queue コマンドバッファを PROT_READ で mmap し、その後 mprotect() によってそれを PROT_WRITE に昇格させることができます(VM_MAYWRITE がクリアされていないため)。
コマンドバッファには struct ublksrv_io_desc エントリが含まれており、これらはカーネルが書き込む ABI です。書き込み可能なマッピングにより、権限のないデーモンプロセスは addr、op_flags、nr_sectors、start_sector などのフィールドを不正に改ざんできます。
これは drm/panthor および drm/vc4 の VM_MAYWRITE 修正および 2026-08-13 ptp/vmclock 修正 (a5edadbae57e) と同じバグクラスです。
mprotect() PoC を通じて検証済み:修正前では、PROT_READ マッピングを PROT_READ|PROT_WRITE に昇格させることができ、コマンドバッファへの書き込みにより io_desc フィールドが不正に改ざんされます(KASAN 下で確認済み)。修正後、mprotect() は -EACCES を返します。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.