DragonFlyBSD Kernel Audit
DF-0743 / run.sh
← back to finding ↓ download raw
#!/bin/sh
# run.sh — DF-0743 primary reproduction (the deterministic harness).
#
# Runs the userspace harness that replicates, byte-for-byte, the kernel's
# struct-overlay derefs from sys/netinet/ip_gre.c (gre_input2 + gre_mobile_input)
# and proves that when the OUTER IP header carries options (ip_hl > 5) the
# overlay reads IP-OPTION bytes instead of the real GRE / mobile header.
#
# No privilege required. No kernel setup required. Deterministic.
#
# For the live in-kernel demonstration (needs root + a gre tunnel) see
# live_run.sh — it confirms the misparse on the running kernel via tcpdump
# (packet B with ip_hl=7 is dropped by the buggy kernel, decapsulated by the
# fixed kernel).
set -e
cd "$(dirname "$0")"
./harness