DragonFlyBSD Kernel Audit
DF-0668 / fix_run.log
← back to finding ↓ download raw
===== DF-0668 FIXED (ipfw3_basic with bounds check): ./ipfw3_table_oob =====
(fixed module built from /usr/src/sys/net/ipfw3_basic with fix.diff applied, loaded fresh)

--- id=16384 (was accepted/OOB on baseline) ---
[*] setsockopt returned -1 errno=22 (Invalid argument)        -> EINVAL, OOB rejected

--- id=0x10000000 (panicked on baseline) ---
[*] setsockopt returned -1 errno=22 (Invalid argument)        -> EINVAL, NO panic

--- id=5 (a VALID table id, in [0,32)) ---
[*] setsockopt returned 0 errno=0 (Undefined error: 0)        -> accepted, legit tables work

Guest stayed up after all three (no panic). The bounds check `id >= IPFW_TABLES_MAX`
in each dispatch function closes the OOB while preserving valid table operations.