⬢ DragonFlyBSD Kernel Audit
DF-4228 / manifest.json
← back to finding ↓ download raw
{
  "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"
  ]
}