DF-4458 / manifest.json
{ "finding_id": "DF-4458", "title": "drm_gem_mmap_single passes user-controlled mmap length and in-object offset (bits 0..39 of the fake offset) to the GEM device pager without any bounds check — upstream clamp is dead in #if 0", "verdict": "inconclusive", "impact": "none", "confidence": "certain", "reproduce": { "build": "cc -O2 -Wall -Wextra -o df4458 df4458.c (guest cc 8.3: BUILD_RC=0)", "run": "./df4458 /dev/dri/card0", "expected": "On GPU hardware: [A]/[B] SUCCESS lines demonstrate mappings past the GEM object (cross-object GGTT access via the DF-1146 sink, or SIGBUS); with core fix: EINVAL. On this guest: open() ENOENT (no /dev/dri) — runtime gate." }, "kernel_refs": [ "sys/dev/drm/drm_gem.c:1082", "sys/dev/drm/drm_gem.c:1099", "sys/dev/drm/drm_gem.c:944", "sys/dev/drm/drm_drv.c:1256", "sys/dev/drm/drm_drv.c:1270", "sys/vm/vm_mmap.c:1377", "sys/vm/device_pager.c:109", "sys/dev/drm/i915/i915_gem.c:6383" ], "artifacts": [ "README.md", "VERDICT.md", "df4458.c", "run.sh", "build.sh", "run.log", "env.txt", "build.log", "fix.diff", "manifest.json", "verdict.json" ] } |