β¬’ DragonFlyBSD Kernel Audit
← triage Β· dashboard
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)

No comments yet.

PoC verification

Evidence pack

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

Fix verification

not_testable
baseline 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