DF-3449 / manifest.json
{ "finding_id": "DF-3449", "title": "dummynet3 KLD unload leaves stale ipfw3 filter_funcs and module registration: unguarded check_body() call executes unmapped module text (deterministic panic)", "verdict": "reproduced", "impact": "panic", "reproduce": { "build": "for d in ipfw3 ipfw3_basic dummynet3; do (cd /usr/src/sys/net/$d && make obj && make); done", "run": "upload trigger.sh to /root/df3449_trigger.sh; nohup sh /root/df3449_trigger.sh & ; watch dfbsd-qemu/vm.sh log", "expected": "kldunload dummynet3 succeeds despite live `pipe` rule; next packet -> Fatal trap 12, instruction pointer == former dummynet3.ko base (0xffffffff8260d000), supervisor read instruction page not present, current process Idle; guest drops to DDB" }, "kernel_refs": [ "sys/net/dummynet3/ip_dummynet3.c:1995", "sys/net/dummynet3/ip_dummynet3.c:2013", "sys/net/dummynet3/ip_dummynet3.c:2067", "sys/net/ipfw3/ip_fw3.c:505", "sys/net/ipfw3/ip_fw3.c:189" ], "artifacts": [ "README.md", "VERDICT.md", "trigger.sh", "trigger_fixed.sh", "run.sh", "panic.txt", "console_full.txt", "run.patched.log", "env.txt", "fix.diff", "code_hash.txt", "verdict.json", "manifest.json" ] } |