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

No comments yet.

PoC verification

Evidence pack

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

Fix verification

not_testable
per-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.