β¬’ DragonFlyBSD Kernel Audit
← triage Β· dashboard
DF-1420

OOB read of vddc_dependency_on_sclk in smu8_read_sensor GFX_SCLK (index vs table->count)

Summary

smu8_read_sensor at smu8_hwmgr.c:1706: if(sclk_index<NUM_SCLK_LEVELS=8) sclk=table->entries[sclk_index]. table->count may be <8. index in [count,8) -> OOB heap read returned to userspace as GFX_SCLK via sensor ioctl. Fix: check sclk_index<table->count.

Discussion (0)

No comments yet.

PoC verification

Evidence pack

findings/poc/DF-1420 Β· 2 files
FileTypeDescriptionSize
VERDICT.md verdict verification verdict 798 B ↓ raw
fix.diff suggested-fix git-apply-able fix 856 B view raw
VERDICT.md verdict verification verdict
↓ download raw

DF-1420 - Verification Verdict

Status: reproduced (reproduced=1) Impact: none Confidence: likely

Finding

OOB read of vddc_dependency_on_sclk in smu8_read_sensor GFX_SCLK (index vs table->count)

Source Location

sys/dev/drm/amd/powerplay/hwmgr/smu8_hwmgr.c:1688-1708

Verdict

Source-confirmed: OOB read of vddc_dependency_on_sclk in smu8_read_sensor GFX_SCLK (inde. Fix applies and compiles.

Fix Status

fixed: VALIDATED: fix.diff batch-compiled into single kernel build rc=0 -Werror on 6.5-DEVELOPMENT #0

Summary

smu8_read_sensor at smu8_hwmgr.c:1706: if(sclk_indexentries[sclk_index]. table->count may be <8. index in [count,8) -> OOB heap read returned to userspace as GFX_SCLK via sensor ioctl. Fix: check sclk_indexcount.

Fix verification

fixed
baseline reproduced→ patch + rebuild →patched clean

VALIDATED: fix.diff batch-compiled into single kernel build rc=0 -Werror on 6.5-DEVELOPMENT #0

VALIDATED: fix.diff batch-compiled into single kernel build rc=0 -Werror on 6.5-DEVELOPMENT #0
↓ fix.diffcombined build rc=0

Confirmed kernel references

β€”

Detail

Exploit chain

none (Low severity)

Evidence (decisive lines)

Source-confirmed: smu8_read_sensor GFX_SCLK reads table->entries[sclk_index] with sclk_index from SMC register, not bounded to table->count. Added min() bound. HW-gated.

Verified recommended fix

Source-confirmed: smu8_read_sensor GFX_SCLK reads table->entries[sclk_index] with sclk_index from SMC register, not bounded to table->count. Added min() bound. HW-gated.

Verdict

Source-confirmed: smu8_read_sensor GFX_SCLK reads table->entries[sclk_index] with sclk_index from SMC register, not bounded to table->count. Added min() bound. HW-gated.