DF-5164 / verdict.json
{ "finding_id": "DF-5164", "status": "untested", "reproduced": false, "impact": "none", "confidence": "certain", "verdict": "Info hardening, verified at source level only (no runtime test, per contract, for Low/Info findings): amdgpu_atombios_i2c_channel_trans() (atombios_i2c.c:167-181) passes its stack PROCESS_I2C_CHANNEL_TRANSACTION_PS_ALLOCATION to the atom interpreter without the memset its sibling performs at atombios_i2c.c:50. Today all 8 struct bytes are explicitly assigned (struct at sys/dev/drm/amd/include/atombios.h:8477-8492 has no padding), so no uninitialized byte currently reaches firmware; the omission only becomes live if the struct grows or a VBIOS table declares a larger parameter space (interpreter trusts the table header, atom.c:1209-1211).", "exploit_chain": "", "evidence": "README.md (field-by-field proof that all 8 bytes are currently initialized); fix.diff (one-line memset, git apply --check clean)", "kernel_refs": ["sys/dev/drm/amd/amdgpu/atombios_i2c.c:167", "sys/dev/drm/amd/amdgpu/atombios_i2c.c:169", "sys/dev/drm/amd/amdgpu/atombios_i2c.c:50", "sys/dev/drm/amd/include/atombios.h:8477", "sys/dev/drm/amd/amdgpu/atom.c:1209", "sys/dev/drm/amd/amdgpu/gfx_v8_0.c:795"], "poc_changes": "not applicable — no PoC (Info hardening finding, explicitly skipped per contract)", "attempts": 0, "guest_uname": "DragonFly dfbsd 6.5-DEVELOPMENT DragonFly 6.5-DEVELOPMENT #0: Thu Jul 2 06:02:54 UTC 2026\troot@dfbsd:/usr/obj/usr/src/sys/X86_64_GENERIC x86_64", "runtime_sec": 0, "guest_dirty": 0, "build_cmd": "", "run_cmd": "", "code_hash": "", "notes": "Filed for symmetry with DF-2176 (radeon twin of this file family, same Info class: hygiene divergence between the sibling implementations).", "recommended_fix": "memset(&args, 0, sizeof(args)) in amdgpu_atombios_i2c_channel_trans before field assignment (see fix.diff).", "fix_status": "not_testable", "fix_baseline_reproduced": false, "fix_patched_reproduced": false, "fix_verdict": "No behavioral delta to validate: the finding has no demonstrated runtime impact today; the one-line fix is compile-level and applies cleanly.", "fix_evidence": "fix.diff" } |