⬢ DragonFlyBSD Kernel Audit
DF-4862 / manifest.json
← back to finding ↓ download raw
{
  "finding_id": "DF-4862",
  "title": "amdgpu_cgs CP_MEC image_size = jt_offset<<2 unbounded: SMU-side OOB DMA read beyond staged fw_buf window (DF-4774 shape on the CP branch)",
  "verdict": "reproduced",
  "impact": "dos",
  "confidence": "certain",
  "reproduce": {
    "build": "sh build.sh  (cc -O0 -g -Wall -o cgs_mec_jt_oob cgs_mec_jt_oob.c; cc -O0 -g -Wall -o cgs_mec_jt_oob_patched cgs_mec_jt_oob_patched.c)",
    "run": "sh run.sh   (baseline then patched twin; extra determinism runs in run.2.log/run.3.log)",
    "expected": "[2] 'RESULT: SMU-SIDE OOB DMA READ CONFIRMED: 57344 bytes beyond the staged fw_buf window + unmapped-page fault class' with 'kernel-side OOB reads ... 0 bytes'; [1] legit header fully in-bounds; patched twin: [2] '-22 rejected at the cgs construction — FIX VALIDATED', [1] unchanged"
  },
  "kernel_refs": [
    "sys/dev/drm/amd/amdgpu/amdgpu_cgs.c:234-235",
    "sys/dev/drm/amd/amdgpu/amdgpu_cgs.c:219-231",
    "sys/dev/drm/amd/amdgpu/amdgpu_ucode.c:251-259",
    "sys/dev/drm/amd/amdgpu/amdgpu_ucode.c:449-485",
    "sys/dev/drm/amd/powerplay/smumgr/smu7_smumgr.c:305-327",
    "sys/dev/drm/amd/powerplay/smumgr/smu7_smumgr.c:405",
    "sys/dev/drm/amd/powerplay/smumgr/smu7_smumgr.c:424-431",
    "sys/dev/drm/amd/amdgpu/gfx_v8_0.c:1204",
    "sys/dev/drm/amd/amdgpu/amdgpu_ucode.h:61-66"
  ],
  "artifacts": [
    "cgs_mec_jt_oob.c", "cgs_mec_jt_oob_patched.c",
    "build.sh", "run.sh", "build.log", "run.log", "run.2.log", "run.3.log",
    "env.txt", "fix.diff", "README.md", "VERDICT.md", "manifest.json", "verdict.json"
  ]
}