aibs_attach ENXIO path leaks every kmalloc'd sc_asens_* sensor array β newbus never calls detach after a failed attach
Summary
Arrays allocated+published before element validation; malformed-but-well-typed elements skip attachment, and the zero-sensor ENXIO exit never frees - DFly newbus never detaches a failed attach, so the leak is permanent (re-attach orphans again). Crafted-ACPI precondition (pre-boot control). Free-on-ENXIO fix.
Discussion (0)
PoC verification
Evidence pack
findings/poc/DF-4953 Β· 1 files| File | Type | Description | Size | |
|---|---|---|---|---|
| verdict.json | file | 1.1 KB | view raw |
Fix verification
not_testableConfirmed kernel references
Detail
Exploit chain
crafted ?SIF packages (valid integer header, all elements malformed) -> arrays allocated+published -> zero sensors attached -> ENXIO without free -> permanent leak
Evidence (decisive lines)
findings/poc/DF-4953/ (this verdict)
Verdict
Firmware-gated (crafted ATK0110 DSDT; no ASUS node on guest): aibs_attach_sif kmallocs and publishes the per-family sensor arrays before element validation; malformed-but-well-typed elements 'continue' so no sensors attach, and when all families yield zero the ENXIO exit never frees the arrays - and DFly newbus never calls detach after a failed attach (DS_NOTPRESENT), so the allocations leak permanently (a re-attach would orphan them again). One-shot ~112B/entry leak per family; pre-boot control precondition. Free-on-ENXIO fix.
No comments yet.