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

Parent-NIC softc type confusion gated only by 4-char driver-name prefix (strncmp "stge")

Summary

4-char prefix match + blind stge_softc cast to read sc_rev - a hypothetical stge* driver would be misread. No in-tree impact; FreeBSD eliminated the pattern via MIIF_PHYPRIV0. Flag-based fix.

Discussion (0)

No comments yet.

PoC verification

Evidence pack

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

Fix verification

not_testable
per-fix-DF-4921

Confirmed kernel references

Detail

Exploit chain

none in-tree (requires a second stge-prefixed driver)

Evidence (decisive lines)

findings/poc/DF-4921/ (this verdict)

Verdict

Latent hardening (Info): ip1000phy_reset matches the parent driver by a 4-character strncmp against the name 'stge' then blind-casts the parent softc to struct stge_softc * to read sc_rev - any hypothetical future driver whose name begins with stge and which parents an IP1000A PHY gets its softc misread at that offset. No in-tree impact (only stge matches today; loading a driver needs root). FreeBSD eliminated exactly this pattern via MIIF_PHYPRIV0 plumbing. Flag-based fix.