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)
PoC verification
Evidence pack
findings/poc/DF-4921 Β· 1 files| File | Type | Description | Size | |
|---|---|---|---|---|
| verdict.json | file | 873 B | view raw |
Fix verification
not_testableper-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.
No comments yet.