DF-5411 / manifest.json
{ "finding_id": "DF-5411", "title": "udav_attach() failure paths call udav_detach() on a never-attached usb_ether -> deterministic kernel panic at evil-USB plug-in (lockmgr through NULL ue_lock; latent ether_ifdetach-on-unattached ifnet corruption)", "bucket": "base:hw", "verdict": "reproduced", "reproduced": 1, "impact": "panic", "confidence": "certain", "class": "goto-detach-on-unattached uether (DF-5334 family, 6th instance)", "kernel_refs": [ "sys/bus/u4b/net/if_udav.c:263-268", "sys/bus/u4b/net/if_udav.c:280-283", "sys/bus/u4b/net/if_udav.c:285-289", "sys/bus/u4b/net/if_udav.c:293-295", "sys/bus/u4b/net/if_udav.c:304-305", "sys/bus/u4b/net/usb_ethernet.c:268-305", "sys/bus/u4b/usb_process.c:397-412" ], "reproduce": { "build": "cd /root/df5411 && make -m /usr/src/share/mk", "run": "kldload -v /root/df5411/udav_poc.ko", "expected": "baseline (stock uether.ko): 3 markers then Fatal trap 12 fault VA 0x0, Stopped at lockmgr_exclusive+0x5d, guest dead in DDB; patched (fix.diff): 4th marker SURVIVED, RC=0, 0 fatal traps, clean unload" }, "artifacts": [ "README.md", "VERDICT.md", "udav_attach_poc.c", "Makefile", "build.log", "panic.txt", "run.log", "fix_run.log", "fix_uether_build.log", "fix_udav_build.log", "fix_build.log", "env.txt", "fix.diff", "manifest.json", "verdict.json" ] } |