⬢ DragonFlyBSD Kernel Audit
DF-5718 / manifest.json
← back to finding ↓ download raw
{
  "finding_id": "DF-5718",
  "title": "kernel strcpy invoked on overlapping regions by netgraph text parser (contract violation; correctness depends on strcpy.c's byte-forward implementation)",
  "verdict": "reproduced",
  "reproduced": 1,
  "impact": "none",
  "severity": "Info",
  "confidence": "certain",
  "kernel_refs": [
    "sys/libkern/strcpy.c:36-42",
    "sys/sys/libkern.h:131",
    "sys/netgraph/netgraph/ng_parse.c:1559",
    "sys/netgraph/netgraph/ng_parse.c:1572",
    "sys/netgraph/netgraph/ng_parse.c:1621",
    "sys/netgraph7/netgraph/ng_parse.c:1764",
    "sys/netgraph7/netgraph/ng_parse.c:1813",
    "sys/netgraph/socket/ng_socket.c:171-175",
    "sys/dev/raid/hptrr/osm.h:168"
  ],
  "reproduce": {
    "build": "copy overlap_rig.c wrestrict_shim.c build.sh run.sh to /tmp/DF-5718/ on the guest; sh build.sh",
    "run": "sh run.sh",
    "expected": "INTREE: parse correct ... YES + overlapping strcpy invocations: 5; LIBC: divergence: none (negative control); BLOCK: child killed by SIGSEGV ... RESULT: ... load-bearing; FIXED: identical to in-tree semantics: YES"
  },
  "artifacts": [
    "overlap_rig.c", "wrestrict_shim.c", "build.sh", "run.sh",
    "build.log", "run.log", "env.txt", "fix.diff",
    "README.md", "VERDICT.md", "manifest.json", "verdict.json"
  ]
}