DF-4228 / manifest.json
{ "finding_id": "DF-4228", "verdict": "untested", "impact": "panic", "confidence": "certain", "summary": "Root-writable sysctls debug.cyapa_idle_freq/slow_freq/norm_freq (cyapa.c:227-235, no bounds) feed the poll-thread sleep computation (hz + freq - 1) / freq at cyapa.c:1200. freq=0 => integer divide-by-zero in a kernel thread => #DE => kernel panic. One-sysall deterministic DoS on trackpad-equipped machines.", "reproduce": { "build": "cc -O0 -Wall -o model_div0 model_div0.c", "run": "./model_div0 (harness: SIGFPE on the identical expression); kernel: sysctl debug.cyapa_idle_freq=0 on hardware", "expected": "harness: SIGFPE; kernel: panic in cyapa_poll_thread on next poll tick" }, "kernel_refs": [ "sys/dev/smbus/cyapa/cyapa.c:227", "sys/dev/smbus/cyapa/cyapa.c:235", "sys/dev/smbus/cyapa/cyapa.c:1200", "sys/dev/smbus/cyapa/cyapa.c:1202", "sys/dev/smbus/cyapa/cyapa.c:1210" ], "artifacts": [ "README.md", "VERDICT.md", "model_div0.c", "build.sh", "run.sh", "build.log", "run.log", "run.2.log", "env.txt", "fix.diff", "manifest.json", "verdict.json" ] } |