DF-5528 / manifest.json
{ "finding_id": "DF-5528", "manifest_version": 1, "verdict": "untested (hardware-gated)", "impact": "none (latent: potential panic/UAF on privileged unload once a firewire-bus child vetoes detach)", "reproduce": { "build": "none possible/required — defect is in the newbus parent/child detach protocol, executable only on real FireWire OHCI hardware (PCI 0c/10/10); see build.sh", "run": "./check_guest.sh (documents the audit guest has no OHCI controller; decisive output in run.log)", "expected": "On real hardware with a vetoing child (e.g. sbp EBUSY guard): kldunload reports success, firewire watchdog callout keeps firing after BAR unmap/bst-bsh zeroing -> page-0 OWRITE -> panic; with fix.diff the unload fails with the child's error and nothing is torn down" }, "kernel_refs": [ "sys/bus/firewire/fwohci_pci.c:341-386", "sys/bus/firewire/fwohci_pci.c:350", "sys/bus/firewire/fwohci_pci.c:351-354", "sys/bus/firewire/fwohci_pci.c:375-379", "sys/bus/firewire/fwohci_pci.c:385", "sys/kern/subr_bus.c:1284-1310", "sys/kern/subr_bus.c:2128-2154", "sys/bus/firewire/firewire.c:453-487", "sys/bus/firewire/firewire.c:402-403", "sys/bus/firewire/firewire.c:468-471", "sys/bus/firewire/fwohci.c:764-785" ], "artifacts": [ "README.md", "VERDICT.md", "check_guest.sh", "build.sh", "run.sh", "run.log", "env.txt", "fix.diff", "manifest.json", "verdict.json" ] } |