DF-2953 / manifest.json
{ "finding_id": "DF-2953", "title": "/dev/klog logtimeout() use-after-free read of sc_sigio vs FIOSETOWN free (pgsigio on freed struct sigio)", "file": "sys/kern/subr_log.c", "verdict": "reproduced", "impact": "panic", "confidence": "certain", "reproduce": { "build": "cc -O2 -Wall -o /root/klog_sigio_race /root/klog_sigio_race.c (in guest, as root)", "run": "/etc/rc.d/syslogd stop; sysctl -w kern.log_wakeups_per_second=100; /root/klog_sigio_race (as root)", "expected": "Fatal trap 12: page fault while in kernel mode; fault virtual address = 0x40; Stopped at pgsigio+0xcd: movl 0x40(%rdx),%edx; current process = Idle (softclock thread). Vulnerable kernel panics within seconds; patched kernel runs clean." }, "kernel_refs": [ "sys/kern/subr_log.c:247", "sys/kern/subr_log.c:248", "sys/kern/subr_log.c:292", "sys/kern/subr_log.c:301", "sys/kern/kern_descrip.c:1239", "sys/kern/kern_descrip.c:1272", "sys/kern/kern_descrip.c:1296", "sys/kern/kern_descrip.c:1368", "sys/kern/kern_sig.c:2639", "sys/kern/kern_sig.c:99", "sys/kern/subr_prf.c:296" ], "artifacts": [ "klog_sigio_race.c", "build.sh", "run.sh", "build.log", "run.log", "panic.txt", "run2_brokenfix_panic.txt", "env.txt", "fix.diff", "fix.attempt2-systemic-sigio-ref.diff.unvalidated", "VERDICT.md", "README.md", "manifest.json", "verdict.json" ] } |