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

EE_SPEED EEPROM byte used unbounded as index into eeprom_period[8]

Summary

amd_init at amd.c:2342: tinfo->user.period=eeprom_period[prom->EE_SPEED]. EE_SPEED u8 (0-255). eeprom_period has 8 entries. EE_SPEED>=8 -> OOB read up to 247 bytes past table into adjacent .data. Value programmed as sync period. Malicious/corrupted EEPROM. Fix: clamp EE_SPEED<8.

Discussion (0)

No comments yet.

PoC verification

Evidence pack

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

DF-1349 - Verification Verdict

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

Finding

EE_SPEED EEPROM byte used unbounded as index into eeprom_period[8]

Source Location

sys/dev/disk/amd/amd.c:2342-192

Verdict

Source-confirmed (complex fix): EE_SPEED EEPROM byte used unbounded as index into eeprom_period[8]. No diff in batch.

Fix Status

not_applicable: source defect confirmed; complex fix not included in batch build

Summary

amd_init at amd.c:2342: tinfo->user.period=eeprom_period[prom->EE_SPEED]. EE_SPEED u8 (0-255). eeprom_period has 8 entries. EE_SPEED>=8 -> OOB read up to 247 bytes past table into adjacent .data. Value programmed as sync period. Malicious/corrupted EEPROM. Fix: clamp EE_SPEED<8.

Fix verification

not_testable
baseline reproduced→ patch + rebuild →patched clean

source defect confirmed; complex fix not included in batch build

source defect confirmed; complex fix not included in batch build
↓ fix.diffcombined build rc=0

Confirmed kernel references

β€”

Detail

Exploit chain

none (Low severity)

Evidence (decisive lines)

Source-confirmed: amd driver EE_SPEED EEPROM byte used as unbounded index into eeprom_period[8], OOB read. Complex fix (context-dependent). HW-gated.

Verified recommended fix

Source-confirmed: amd driver EE_SPEED EEPROM byte used as unbounded index into eeprom_period[8], OOB read. Complex fix (context-dependent). HW-gated.

Verdict

Source-confirmed: amd driver EE_SPEED EEPROM byte used as unbounded index into eeprom_period[8], OOB read. Complex fix (context-dependent). HW-gated.