DF-4440
atmel_mxtread/write/kqfilter dereference softc without the NULL guard used by open/close/ioctl β NULL-deref (later UAF) via fd held across driver detach/kldunload
Summary
open/close/ioctl validate ATMEL_SOFTC(minor) against NULL; read, write and kqfilter use it unconditionally. detach never waits for or invalidates open descriptors - an fd held across kldunload leaves the surviving cdev pointing at a NULL/freed devclass slot; the next read/write/kqfilter hits lockmgr on NULL or freed memory. Node is 0600 root:wheel, so ceiling is privileged self-DoS. NULL-guard + EBUSY fix.
Discussion (0)
PoC verification
Evidence pack
findings/poc/DF-4440 Β· 1 files| File | Type | Description | Size | |
|---|---|---|---|---|
| verdict.json | file | 990 B | view raw |
Fix verification
not_testablebaseline noβ patch + rebuild βpatched clean
not_testable: no atmel i2c device on guest
fix in finding markdown
per-fix-DF-4440
Confirmed kernel references
Detail
Exploit chain
[]
Evidence (decisive lines)
open/close/ioctl validate the softc; read/write/kqfilter do not, and detach never drains open fds. NULL-guard + EBUSY fix in finding markdown.
Verdict
not_run: no atmel i2c controller/device on guest; node is 0600 root:wheel so no unpriv surface
No comments yet.