⬢ DragonFlyBSD Kernel Audit
DF-4395 / manifest.json
← back to finding ↓ download raw
{
  "finding_id": "DF-4395",
  "title": "vega10 dcefclk pioneer-path heap OOB write (copy loop ucNumEntries vs min(+1,8) allocation)",
  "verdict": "reproduced (harness)",
  "impact": "corruption",
  "confidence": "certain",
  "reproduce": {
    "build": "./build.sh  (cc -O2 -Wall -o dcefclk_oflow dcefclk_oflow.c)",
    "run": "./run.sh",
    "expected": "ucNumEntries=9 smashes 1 record past the 228-byte object; ucNumEntries=255 writes 6916 bytes past (guard smashed); negative controls (dev!=0x6863, rev!=0) and the patched loop leave the guard intact"
  },
  "kernel_refs": [
    "sys/dev/drm/amd/powerplay/hwmgr/vega10_processpptables.c:695",
    "sys/dev/drm/amd/powerplay/hwmgr/vega10_processpptables.c:721",
    "sys/dev/drm/amd/powerplay/hwmgr/vega10_processpptables.c:729",
    "sys/dev/drm/amd/powerplay/hwmgr/vega10_processpptables.c:740",
    "sys/dev/drm/amd/powerplay/hwmgr/vega10_pptable.h:181",
    "sys/dev/drm/amd/powerplay/hwmgr/hwmgr_ppt.h:31",
    "sys/dev/drm/amd/amdgpu/amdgpu_pm.c:1007"
  ],
  "artifacts": [
    "dcefclk_oflow.c", "build.sh", "run.sh", "build.log", "run.log",
    "env.txt", "fix.diff", "VERDICT.md", "manifest.json", "verdict.json"
  ]
}