⬢ DragonFlyBSD Kernel Audit
DF-4045 / manifest.json
← back to finding ↓ download raw
{
  "finding_id": "DF-4045",
  "title": "stge_rxeof trusts the NIC-DMA'd 16-bit RxDMAFrameLen with no per-buffer bound (jumbo OOB heap read up to 6974B past the 2048B cluster; negative tail m_len -> ~4GB bcopy in m_copydata)",
  "verdict": "inconclusive",
  "impact": "none",
  "confidence": "certain",
  "reproduce": {
    "build": "cc -O2 -Wall -Wextra -o /root/tr4045 /root/tr4045.c",
    "run": "/root/tr4045",
    "expected": "geometry model prints case A OOB extents (9022 on 2048 cluster -> 6974 past) and case B negative m_len -> m_copydata unsigned count; RC=0"
  },
  "kernel_refs": [
    "sys/dev/netif/stge/if_stge.c:1606",
    "sys/dev/netif/stge/if_stge.c:1607",
    "sys/dev/netif/stge/if_stge.c:1608",
    "sys/dev/netif/stge/if_stge.c:1623",
    "sys/dev/netif/stge/if_stge.c:1625",
    "sys/dev/netif/stge/if_stge.c:1261",
    "sys/dev/netif/stge/if_stge.c:2013",
    "sys/dev/netif/stge/if_stge.c:2326",
    "sys/dev/netif/stge/if_stge.c:2329",
    "sys/dev/netif/stge/if_stge.c:2335",
    "sys/dev/netif/stge/if_stgereg.h:167",
    "sys/dev/netif/stge/if_stgevar.h:55",
    "sys/kern/uipc_mbuf.c:1689"
  ],
  "artifacts": [
    "README.md", "VERDICT.md", "trigger.c", "build.sh", "run.sh",
    "build.log", "run.log", "env.txt", "fix.diff", "manifest.json", "verdict.json"
  ]
}