DF-3981 / manifest.json
{ "finding_id": "DF-3981", "title": "sbp(4): login_callout never cancelled on sbp_dev free -> softclock use-after-free (hostile FireWire device)", "verdict": "inconclusive_end_to_end_mechanism_proven", "impact_ceiling": "kernel heap UAF read+write (crafted-device)", "reproduce": { "build": "cd /root/kmod && make", "run": "kldload ./sbpprep.ko && sysctl kern.sbpprep_a=1 && sleep 4 && dmesg | grep 'sbpprep\\[A\\]'", "expected": "sbpprep[A]: login_callout FIRED on FREED object 0x... (arg == freed pointer: YES)" }, "kernel_refs": [ "sys/dev/disk/sbp/sbp.c:183", "sys/dev/disk/sbp/sbp.c:625", "sys/dev/disk/sbp/sbp.c:649", "sys/dev/disk/sbp/sbp.c:444", "sys/dev/disk/sbp/sbp.c:536", "sys/dev/disk/sbp/sbp.c:776", "sys/dev/disk/sbp/sbp.c:1978", "sys/dev/disk/sbp/sbp.c:1989", "sys/dev/disk/sbp/sbp.c:1993", "sys/dev/disk/sbp/sbp.c:1959" ], "artifacts": [ "README.md", "VERDICT.md", "sbp_replica.c", "Makefile", "build.sh", "run.sh", "build.log", "run.log", "env.txt", "fix.diff", "manifest.json", "verdict.json" ] } |