DF-4312 / manifest.json
{ "finding_id": "DF-4312", "finding": "dcn10_link_encoder_create indexes 4-entry const register tables with unvalidated VBIOS-derived transmitter/channel/hpd_source values (-1..9 / -1..7 / 0..6) -> OOB kernel reads used as MMIO register bases", "file": "sys/dev/drm/amd/display/dc/dcn10/dcn10_resource.c", "lines": [744, 746], "verdict": "inconclusive", "impact": "none (on this guest: no AMD GPU; potential: wild MMIO from crafted VBIOS on Raven-class APU)", "confidence": "certain (missing check), impact hardware-gated", "reproduce": { "build": "n/a (kernel driver; requires DCN1 ASIC + crafted VBIOS object tables)", "run": "n/a on audit guest - see README.md for the real-hardware manual test", "expected": "pre-fix: bogus register-base pointers from OOB const reads -> wild MMIO/hang during link encoder init on a Raven APU with foreign/crafted VBIOS; post-fix: dcn10_link_encoder_create returns NULL, dc_link_construct fails gracefully" }, "kernel_refs": [ "sys/dev/drm/amd/display/dc/dcn10/dcn10_resource.c:744", "sys/dev/drm/amd/display/dc/dcn10/dcn10_resource.c:745", "sys/dev/drm/amd/display/dc/dcn10/dcn10_resource.c:746", "sys/dev/drm/amd/display/dc/core/dc_link.c:1177", "sys/dev/drm/amd/display/include/grph_object_defs.h:81" ], "artifacts": [ "README.md", "VERDICT.md", "fix.diff", "env.txt", "verdict.json", "manifest.json" ], "fix_validated": false } |