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

Partially uninitialized mxt_message on the poller stack when the (device-controlled) T5 object size < 7 β€” stale stack bytes flow into the user-visible ELO pressure field

Summary

msg is declared uninitialized and filled via mxt_read_object which reads obj->size_minus_one+1 bytes clamped to 7; a device advertising T5 size < 7 leaves msg bytes stale while the read still reports success. msg->touch.amplitude (byte 6) is copied into track->pressure and emitted as ELO packet bytes. Consumer must already be root (0600 node) - defense-in-depth, physical-attacker model. bzero fix.

Discussion (0)

No comments yet.

PoC verification

Evidence pack

findings/poc/DF-4442 Β· 1 files
FileTypeDescriptionSize
verdict.json file 925 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-4442

Confirmed kernel references

Detail

Exploit chain

[]

Evidence (decisive lines)

Missing bzero of mxt_message before the sized device read; msg->touch.amplitude (byte 6) flows to user. bzero fix in finding markdown.

Verdict

not_run: no i2c controller on guest; device-controlled T5 size precondition