DragonFlyBSD Kernel Audit
DF-0616 / run.2.log
← back to finding ↓ download raw
=== DF-0616 code-level harness: generic_netmap_rxsync OOB write ===
[*] NETMAP_BUF_SIZE   = 2048  (netmap_mem2.c:765)
[*] RX frame m_pkthdr.len = 65535  (jumbo/LRO frame)
[*] FIX DISABLED: reproducing vulnerable netmap_generic.c:672-674
[*] m_copydata(m, 0, len=65535, addr) into 2048-byte netmap buffer

--- RESULT ---
[!] OOB WRITE CONFIRMED: 8192 bytes corrupted past the 2048-byte buffer
[!] First corrupted byte: pool[2048] (= +0 past buffer end)
[!] Overflow extent (frame_len - NETMAP_BUF_SIZE) = 63487 bytes
[!] Corrupted adjacent-pool bytes are ATTACKER-CONTROLLED (0x41+ pattern, canary was 0xAA):
    41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 41 42 43 44 45 46 
[!] ring->slot[j].len = 65535 (oversized -> also leaks len to userspace)
[!] Impact: CWE-787 OOB write into shared netmap pool / kernel heap
[!]        => memory corruption, info leak, kernel panic / LPE
EXIT=0