CVE-2026-80701 in Linux情報

要約

〜によって VulDB • 2026年08月28日

Linuxカーネルにおいて、以下の脆弱性が修正されました:

drm/vmwgfx: MOB(Memory Object Buffer)カーソルのサイズ制限を適用する

vmw_cursor_plane_atomic_check()関数は、レガシーな更新パスでのみカーソルの幅と高さの境界をチェックしています。一方、SVGA_CAP2_CURSOR_MOBパス(現代的なホストにおけるデフォルト経路)は任意のサイズを受け入れます。要求されたサイズが SVGA_REG_CURSOR_MAX_DIMENSION または SVGA_REG_MOB_MAX_SIZE を超えると、vmw_cursor_mob_get() は -EINVAL を返し、vps->cursor.mob に NULL が設定されます。その後、その戻り値は vmw_cursor_plane_prepare_fb() で無視されるため、続く vmw_cursor_update_mob() の呼び出しで vmw_bo_map_and_cache(NULL) が実行され、tbo.base.size の読み込み時に vmw_bo_map_and_cache_size() 内でカーネルパニック(oops)が発生します。

DRM_IOCTL_MODE_CURSOR2 を介して任意の DRM マスターから到達可能であり、十分に大きな幅または高さ(例:cursor_max_dim + 1)を指定することで攻撃可能です。

MOBバックドのカーソル更新タイプ両方に対して atomic_check で過大なサイズのカーソルを拒否します。MOB のバイトサイズ制限は SVGA_CAP2_CURSOR_MOB パスにのみ適用されます(vmw_cursor_mob_size() は GB_ONLY に対して 0 を返すため)。非常に大きな寸法が要求された際のオーバーフローを防ぐために、必要な MOB サイズを64ビットで計算します。

prepare_fb では VMW_CURSOR_UPDATE_MOB の場合のみ vmw_cursor_mob_get()/_map() を呼び出します(GB_ONLY パスは bo->map.virtual を直接使用し、SVGA_CAP2_CURSOR_MOB がないホストでは vmw_cursor_mob_get() が常に -EINVAL を返すため、そうでなければ静かに NONE にダグレードされてしまいます)。vmw_cursor_mob_get() または vmw_cursor_mob_map() の失敗時に更新を NONE にダグレードし、NULL のバックド MOB で更新パスが実行されないようにします。

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

責任者

Linux

予約する

2026年08月26日

モデレーション

承諾済み

エントリ

VDB-396586

EPSS

0.00166

アクティビティ

非常低い

ソース

Do you want to use VulDB in your project?

Use the official API to access entries easily!