⬢ DragonFlyBSD Kernel Audit
DF-4544 / manifest.json
← back to finding ↓ download raw
{
  "finding_id": "DF-4544",
  "title": "vega20_processpptables: one-sided OD count clamps size driver heap arrays from VBIOS counts while consumers index by driver enums -> heap OOB reads at init, values printed to OD_RANGE sysfs",
  "verdict": "reproduced",
  "impact": "leak",
  "reproduce": {
    "build": "cc -O2 -Wall -o od_count_oflow od_count_oflow.c  (guest cc 8.3)",
    "run": "./od_count_oflow",
    "expected": "CRAFTED ODFeatureCount=10/ODSettingCount=1: od_settings_max 4-byte object, 21 OOB reads, farthest +48 B past; marker 0xA5A50001 printed as 'SCLK: 800Mhz 2779054081Mhz' in the OD_RANGE output; CONTROL and PATCHED: 0 OOB reads"
  },
  "kernel_refs": [
    "sys/dev/drm/amd/powerplay/hwmgr/vega20_processpptables.c:823",
    "sys/dev/drm/amd/powerplay/hwmgr/vega20_processpptables.c:829",
    "sys/dev/drm/amd/powerplay/hwmgr/vega20_processpptables.c:835",
    "sys/dev/drm/amd/powerplay/hwmgr/smu_helper.c:73",
    "sys/dev/drm/amd/powerplay/hwmgr/vega20_hwmgr.h:398",
    "sys/dev/drm/amd/powerplay/hwmgr/vega20_hwmgr.c:906",
    "sys/dev/drm/amd/powerplay/hwmgr/vega20_hwmgr.c:1216",
    "sys/dev/drm/amd/powerplay/hwmgr/vega20_hwmgr.c:2861"
  ],
  "artifacts": [
    "od_count_oflow.c", "build.sh", "run.sh", "build.log", "run.log",
    "run.2.log", "fix_run.log", "fix.diff", "fix_build.log", "env.txt",
    "README.md", "VERDICT.md", "manifest.json", "verdict.json"
  ]
}