DF-5475 / manifest.json
{ "finding_id": "DF-5475", "manifest_version": 1, "verdict": "reproduced", "impact": "dos", "confidence": "certain", "file": "sys/cpu/x86_64/misc/x86_64-gdbstub.c", "title": "gdb_handle_exception entered with gdb_tab == NULL: putpacket()/getpacket() treat getDebugChar()==-1 as data (and the shipped gcc8 constprop clone drops the NULL guards) -> NULL-deref fault storm / permanent all-CPU hang; no ddb fallback, no dump, no reboot", "reproduce": { "build": "none needed for baseline (stock kernel); fix build: see build.sh / build.log", "run": "findings/poc/DF-5475/run.sh (sysctl debug.enter_debugger=gdb over vm.sh run_root)", "expected": "TRIGGER_RC=124, guest stops answering ssh, QEMU alive, serial floods 'Fatal trap 12' at putpacket+0x2c reading 0x68 forever (serial.baseline.txt)" }, "kernel_refs": [ "sys/cpu/x86_64/misc/x86_64-gdbstub.c:147", "sys/cpu/x86_64/misc/x86_64-gdbstub.c:156", "sys/cpu/x86_64/misc/x86_64-gdbstub.c:189", "sys/cpu/x86_64/misc/x86_64-gdbstub.c:277", "sys/cpu/x86_64/misc/x86_64-gdbstub.c:448", "sys/cpu/x86_64/misc/x86_64-gdbstub.c:531", "sys/platform/pc64/x86_64/db_interface.c:105", "sys/platform/pc64/x86_64/db_interface.c:179", "sys/ddb/db_sysctl.c:57", "sys/dev/serial/sio/sio.c:3131", "sys/platform/pc64/x86_64/trap.c:1096", "sys/sys/cons.h:72" ], "artifacts": [ "README.md", "VERDICT.md", "run.sh", "run_control.sh", "run_patched.sh", "build.sh", "run.log", "run.control.log", "run.patched.log", "serial.baseline.txt", "serial.control.txt", "serial.patched.txt", "build.log", "env.txt", "fix.diff", "manifest.json", "verdict.json" ] } |