⬢ DragonFlyBSD Kernel Audit
DF-3462 / manifest.json
← back to finding ↓ download raw
{
  "finding_id": "DF-3462",
  "title": "ipfw3 set toggle (IP_FW_SET_TOGGLE) updates only CPU0's per-CPU sets bitmap - per-flow firewall policy divergence on SMP",
  "verdict": "reproduced",
  "impact": "firewall-policy divergence (root-triggered config op; enforcement silently per-cpu inconsistent)",
  "confidence": "certain",
  "reproduce": {
    "build": "cc -O -o /root/udp1shot udp1shot.c   (guest, root; module rebuild for fix validation: build.sh)",
    "run": "sh run.sh  (see README.md for kldload/alias/rule prerequisites)",
    "expected": "baseline: with `ipfw3 set show` = disable: 3, sources 127.0.0.{4,8,13,19,20,24} show counter delta 0 while the other 17 aliases show delta 2 (rule still enforced); after fix.diff: all sources delta 0 when disabled, all delta 2 when enabled"
  },
  "kernel_refs": [
    "sys/net/ipfw3/ip_fw3_set.c:191-204",
    "sys/netinet/raw_ip.c:308",
    "sys/net/ipfw3/ip_fw3.c:350",
    "sys/net/ipfw3/ip_fw3.c:485-489",
    "sys/net/ipfw/ip_fw2.c:5849-5875"
  ],
  "artifacts": [
    "README.md",
    "VERDICT.md",
    "udp1shot.c",
    "udprx.c",
    "srcscan.sh",
    "addrscan.sh",
    "run.sh",
    "build.sh",
    "build.log",
    "run.log",
    "run.patched.log",
    "env.txt",
    "fix.diff",
    "panic.teardown.txt",
    "verdict.json",
    "manifest.json"
  ]
}