DF-4974 / manifest.json
{ "finding_id": "DF-4974", "verdict": "not_reproduced", "impact": "none", "confidence": "likely", "summary": "radeon_crtc_cursor_set2 pins an arbitrary-size user GEM BO as the cursor with no size validation; display engine fetches up to 64*64*4=16KiB (plus legacy yorigin*256) from the BO start, reading adjacent VRAM to the physical screen (real-HW info leak; guest has no GPU).", "reproduce": { "build": "./build.sh", "run": "./run.sh", "expected": "real HW: undersized cursor BO renders adjacent VRAM as cursor pixels; this guest: exit=1, open /dev/dri/card0 -> ENOENT" }, "kernel_refs": [ "sys/dev/drm/radeon/radeon_cursor.c:295", "sys/dev/drm/radeon/radeon_cursor.c:301", "sys/dev/drm/radeon/radeon_cursor.c:314", "sys/dev/drm/radeon/radeon_cursor.c:218", "sys/dev/drm/radeon/radeon_cursor.c:241", "sys/dev/drm/radeon/radeon_display.c:661", "sys/dev/drm/drm_plane.c:935", "sys/dev/drm/drm_ioctl.c:659" ], "artifacts": [ "cursor_oob.c", "build.sh", "run.sh", "build.log", "run.log", "VERDICT.md", "README.md", "fix.diff", "manifest.json", "verdict.json" ] } |