{
  "finding_id": "DF-3977",
  "status": "inconclusive",
  "reproduced": 0,
  "impact": "none",
  "confidence": "likely",
  "verdict": "ar5212GetLowerUpperValues (ar5212_reset.c:2639/2643) dereferences lp[0] and ep[-1] before any listSize check; with the empty pier lists reachable from a zeroed/crafted EEPROM (ee_numTargetPwr_*==0 via ah_eeprom_v3.c:973-999, or a CTL with non-zero index and all-zero edges via ar5212_reset.c:2500-2505) this performs an uninitialized stack read and a 2-byte OOB stack read below the callers tempChannelList[], and lets garbage select CTL edge power \u2014 worst case MAX_RATE_POWER (63) programmed for the channel (regulatory TX-power bypass). No disclosure/write primitive; Low, AV:P, consistent with the ar5416 EEPROM family (DF-1308/1309/3960). All other pass-2 checklist items for this file were driven to verified-negative conclusions (ctl walks bounded by construction in all EEPROM backends; gain-boundary code lives in the RF backends; spur-mitigation shifts provably in range; CorrectGainDelta clamps hold by range analysis).",
  "exploit_chain": "",
  "evidence": "README.md (reachable-empty-list conditions + the full negative-result list); VERDICT.md; fix.diff (three guards)",
  "kernel_refs": [
    "sys/dev/netif/ath/ath_hal/ar5212/ar5212_reset.c:2639",
    "sys/dev/netif/ath/ath_hal/ar5212/ar5212_reset.c:2643",
    "sys/dev/netif/ath/ath_hal/ar5212/ar5212_reset.c:2500",
    "sys/dev/netif/ath/ath_hal/ar5212/ar5212_reset.c:2510",
    "sys/dev/netif/ath/ath_hal/ar5212/ar5212_reset.c:2579",
    "sys/dev/netif/ath/ath_hal/ah_eeprom_v3.c:973",
    "sys/dev/netif/ath/ath_hal/ah_eeprom_v3.c:964"
  ],
  "poc_changes": "No PoC: hardware-gated (needs an AR5212-family card with zeroed EEPROM target-power/CTL blocks).",
  "attempts": 1,
  "guest_uname": "DragonFly dfbsd 6.5-DEVELOPMENT #0: Thu Jul  2 06:02:54 UTC 2026 root@dfbsd:/usr/obj/usr/src/sys/X86_64_GENERIC x86_64",
  "runtime_sec": 10,
  "guest_dirty": 0,
  "build_cmd": "",
  "run_cmd": "",
  "code_hash": "",
  "notes": "File otherwise clean at pass-2 depth: rate-power/CTL/target-power walks bounded by construction; the DF-1308 BCHAN_UNUSED and DF-3960 gain-boundary twins do not apply to this files code.",
  "recommended_fix": "Guard listSize==0 in ar5212GetLowerUpperValues and early-out in ar5212GetMaxEdgePower/ar5212GetTargetPowers when the pier list is empty.",
  "fix_status": "not_testable",
  "fix_baseline_reproduced": null,
  "fix_patched_reproduced": null,
  "fix_verdict": "fix.diff authored (three guards); not runtime-testable without an Atheros NIC.",
  "fix_evidence": "findings/poc/DF-3977/fix.diff"
}