DF-5640 / manifest.json
{ "finding_id": "DF-5640", "title": "TSC cputimer registered with unvalidated tsc_frequency -> division by zero (boot-time kernel panic)", "verdict": "reproduced", "impact": "panic", "confidence": "certain", "reproduce": { "build": "cd findings/poc/DF-5640 && ./build.sh (builds df5640.ko on the guest against /usr/src)", "run": "./run.sh (kldload /root/df5640/df5640.ko on unpatched kernel)", "expected": "Fatal trap 18: integer divide fault while in kernel mode; Stopped at cputimer_select+0x29: divq %rcx,%eax; guest drops to DDB, ssh dies" }, "kernel_refs": [ "sys/cpu/x86_64/misc/cputimer_tsc.c:145", "sys/cpu/x86_64/misc/cputimer_tsc.c:155", "sys/cpu/x86_64/misc/cputimer_tsc.c:156", "sys/cpu/x86_64/misc/cputimer_tsc.c:162", "sys/kern/kern_cputimer.c:99", "sys/kern/kern_cputimer.c:190", "sys/kern/kern_cputimer.c:191", "sys/platform/pc64/isa/clock.c:871", "sys/platform/pc64/isa/clock.c:980", "sys/platform/pc64/isa/clock.c:1038", "sys/platform/pc64/isa/clock.c:1513", "sys/platform/pc64/isa/clock.c:1522", "sys/platform/pc64/x86_64/initcpu.c:375", "sys/platform/pc64/x86_64/initcpu.c:411" ], "artifacts": [ "df5640.c", "build.sh", "run.sh", "README.md", "VERDICT.md", "build.log", "run.log", "panic_serial.log", "panic.txt", "forced_boot_dmesg.txt", "env.txt", "fix.diff", "fix_build.log", "fix_run.log", "fix_forced_boot.txt", "manifest.json", "verdict.json" ] } |