⬢ DragonFlyBSD Kernel Audit
DF-3723 / manifest.json
← back to finding ↓ download raw
{
  "finding_id": "DF-3723",
  "title": "ixgbe_checksum_ptr_x550/ixgbe_calc_checksum_X550 caller-buffer path: bounds checks ignore ptr base offset (+2 off-by-ones) → OOB read past caller u16 buffer[]",
  "verdict": "inconclusive",
  "impact": "none",
  "reproduce": {
    "build": "ssh -F dfbsd-qemu/config dfbsd 'cat > /tmp/chksum_bounds_demo.c' < findings/poc/DF-3723/chksum_bounds_demo.c && dfbsd-qemu/vm.sh run_root 'cc -O2 -o /tmp/chksum_bounds_demo /tmp/chksum_bounds_demo.c'",
    "run": "dfbsd-qemu/vm.sh run_root '/tmp/chksum_bounds_demo'",
    "expected": "SHIPPED: OOB READ — first out-of-bounds word index = 100 (buffer holds 0..99); FIXED: rejected (ERR_PARAM); OFF-BY-ONE: SHIPPED ACCEPTS / FIXED rejects"
  },
  "kernel_refs": [
    "sys/dev/netif/ix/ixgbe_x550.c:3358",
    "sys/dev/netif/ix/ixgbe_x550.c:3360",
    "sys/dev/netif/ix/ixgbe_x550.c:3368",
    "sys/dev/netif/ix/ixgbe_x550.c:3376",
    "sys/dev/netif/ix/ixgbe_x550.c:3394",
    "sys/dev/netif/ix/ixgbe_x550.c:3430",
    "sys/dev/netif/ix/ixgbe_x550.c:3439",
    "sys/dev/netif/ix/ixgbe_x550.c:3488",
    "sys/dev/netif/if_ix.c:615"
  ],
  "fix": "fix.diff",
  "artifacts": [
    "README.md", "VERDICT.md", "chksum_bounds_demo.c", "build.sh", "run.sh",
    "build.log", "run.log", "fix_build.log", "env.txt", "fix.diff",
    "manifest.json", "verdict.json"
  ]
}