DF-4992
Failed SMB_READB/SMB_READW/SMB_PCALL transfers reported as success: copyout result clobbers the bus error
Summary
The copyout result overwrites the smbus error in the rbuf branch - failed transactions return ioctl()==0 with rdata untouched (fabricated data). Short-circuit-on-error fix.
Discussion (0)
PoC verification
Evidence pack
findings/poc/DF-4992 Β· 1 files| File | Type | Description | Size | |
|---|---|---|---|---|
| verdict.json | file | 759 B | view raw |
Fix verification
not_testableper-fix-DF-4992
Confirmed kernel references
Detail
Exploit chain
failed SMB read -> ioctl success + stale rdata
Evidence (decisive lines)
findings/poc/DF-4992/ (this verdict)
Verdict
Logic defect, root-gated (Info): all three read ioctls assign error=smbus_error(...) then immediately overwrite it with error=copyout(...) inside the rbuf branch - a failed/no-ACK transaction returns ioctl()==0 and the caller's struct carries rdata untouched (fabricated 'data' from the caller's own input). Monitoring tools cannot distinguish failed reads. Short-circuit-on-error fix.
No comments yet.