⬢ DragonFlyBSD Kernel Audit
DF-3755 / manifest.json
← back to finding ↓ download raw
{
  "finding_id": "DF-3755",
  "title": "Dangling dpm.ps + teardown double free + ps_priv leak on ni_parse_power_table alloc-failure path",
  "verdict": "reproduced (source-level + harness)",
  "impact": "dos (kernel heap corruption potential, hardware-gated)",
  "reproduce": {
    "build": "cc -O2 -Wall -o harness harness.c",
    "run": "./harness",
    "expected": "[A] dangling current_ps/boot_ps after free at ni_dpm.c:4022; [B] SAME-chunk reuse UAF; [C] double-alloc ALIAS (silent double-free corruption); [C2] victim freed while live; [D] fixed path clean"
  },
  "kernel_refs": [
    "sys/dev/drm/radeon/ni_dpm.c:4020", "sys/dev/drm/radeon/ni_dpm.c:4022",
    "sys/dev/drm/radeon/ni_dpm.c:4041", "sys/dev/drm/radeon/ni_dpm.c:4273",
    "sys/dev/drm/radeon/radeon_pm.c:1448", "sys/dev/drm/radeon/ni.c:2432",
    "sys/dev/drm/radeon/ni.c:2489"
  ],
  "artifacts": ["harness.c", "build.sh", "run.sh", "build.log", "run.log",
                "fix.diff", "fix_build.log", "fix_run.log", "env.txt",
                "README.md", "VERDICT.md", "manifest.json", "verdict.json"]
}