DragonFlyBSD Kernel Audit
DF-2972 / manifest.json
← back to finding ↓ download raw
{
  "finding_id": "DF-2972",
  "title": "exec_shell_imgact() interpreter-line double-scan TOCTOU (live page-cache page; stale-object bytes can reach argv)",
  "verdict": "reproduced",
  "impact": "leak",
  "reproduce": {
    "build": "cc -O2 -pthread -Wall -o race_demo race_demo.c",
    "run": "./race_demo 40000 8",
    "expected": ">=1 DF2972_HIT line with mangled '/tmp/df2972/t USERARG' adjacency and/or stale prior-exec env bytes in /bin/echo output; DF2972_VERDICT: RACE_DETECTED; guest stays up (no panic)."
  },
  "kernel_refs": [
    "sys/kern/imgact_shell.c:75",
    "sys/kern/imgact_shell.c:120",
    "sys/kern/imgact_shell.c:123",
    "sys/kern/imgact_shell.c:126",
    "sys/kern/imgact_shell.c:138",
    "sys/kern/imgact_shell.c:160",
    "sys/kern/imgact_shell.c:169",
    "sys/kern/imgact_shell.c:173",
    "sys/kern/kern_exec.c:770",
    "sys/kern/kern_exec.c:1220",
    "sys/kern/kern_exec.c:1231",
    "sys/kern/kern_exec.c:1325",
    "sys/kern/kern_exec.c:137",
    "sys/kern/vfs_default.c:1213",
    "sys/kern/kern_descrip.c:3328",
    "sys/sys/imgact.h:46"
  ],
  "artifacts": [
    "README.md", "VERDICT.md", "race_demo.c", "build.sh", "run.sh",
    "build.log", "run.log", "run.2.log", "run.3.log", "run.hammer2.log",
    "leak_sample.txt", "env.txt", "fix.diff", "manifest.json", "verdict.json"
  ]
}