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

oce_page_list() hardcodes the segment bound (8) regardless of the destination pages[] array size β€” latent out-of-bounds write into RQ/CQ mailbox commands

Summary

max_entries=8 always, but the RQ/CQ command structs embed pages[2]/pages[4] - safe today only because compile-time ring sizes land exactly at the array limits (RQ 8192B=2 pages, CQ 16384B=4). Any ring-size increase overwrites up to 48B of subsequent command fields (intra-object, stack). Hardware-gated (no Emulex on guest, verified). Thread-the-dimension fix.

Discussion (0)

No comments yet.

PoC verification

Evidence pack

findings/poc/DF-5098 Β· 1 files
FileTypeDescriptionSize
verdict.json file 984 B view raw

Fix verification

not_testable
baseline no→ patch + rebuild →patched clean
per-fix-DF-5098

Confirmed kernel references

Detail

Evidence (decisive lines)

source trace in finding markdown

Verified recommended fix

thread the destination array dimension through oce_page_list

Verdict

untested (hardware-gated: no Emulex OneConnect on guest; ring constants land exactly at array limits)