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

uether_rxmbuf() sets m_len/m_pkthdr.len from the caller-supplied len with no clamp β€” the core's unguarded RX entry point (live instance: DF-5396 urndis 2-byte heap overflow)

Summary

Asymmetric validation: rxbuf rejects out-of-range len but rxmbuf blindly sets m_len from a driver/device-supplied len with no check against the mbuf capacity, and usbd_copy_out is unbounded against the page cache - the one live overflow (urndis DF-5396, upstream-fixed 11 years ago) came through exactly this entry point; the core API guarantees nothing for future callers. M_TRAILINGSPACE-clamp fix.

Discussion (0)

No comments yet.

PoC verification

Evidence pack

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

Fix verification

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

Confirmed kernel references

Detail

Evidence (decisive lines)

static trace + live cdce tr_stall path citation

Verified recommended fix

see finding markdown

Verdict

untested (Low leak scenario / Info API hardening; the DF-5396 instance is separately filed)