]> The Tcpdump Group git mirrors - tcpdump/commit
CVE-2016-7985,7986/Change the way protocols print link-layer addresses.
authorGuy Harris <[email protected]>
Fri, 3 Jul 2015 22:54:14 +0000 (15:54 -0700)
committerFrancois-Xavier Le Bail <[email protected]>
Wed, 18 Jan 2017 08:16:36 +0000 (09:16 +0100)
commit6bc44295cfbe1f7b6633c755841518f4b159aa8a
tree859fda193d4664cfce2892e3c3c219847ada789b
parent237efcf593ee369519e9dfdc9166702219dabfec
CVE-2016-7985,7986/Change the way protocols print link-layer addresses.

If a protocol that runs under a link-layer protocol would print the
link-layer addresses for the packet as source and destination addresses
for the packet, don't have it blithely assume those link-layer addresses
are present or are at a particular offset from the beginning of that
protocol's data; Ethertypes, for example, are used by a number of
protocols, not all of which have Ethernet headers and not all of which
have any MAC headers.

Instead, pass the printers for those protocols structures with a pointer
to the address data and a pointer to a routine that prints the address.

Fixes some heap overflows found with American Fuzzy Lop by Hanno Böck.
22 files changed:
netdissect.h
print-802_11.c
print-ap1394.c
print-calm-fast.c
print-ether.c
print-fddi.c
print-fr.c
print-geneve.c
print-geonet.c
print-ipfc.c
print-juniper.c
print-llc.c
print-medsa.c
print-rrcp.c
print-sll.c
print-symantec.c
print-token.c
tests/TESTLIST
tests/calm-fast-mac-lookup-heapoverflow.out [new file with mode: 0644]
tests/calm-fast-mac-lookup-heapoverflow.pcap [new file with mode: 0644]
tests/geonet-mac-lookup-heapoverflow.out [new file with mode: 0644]
tests/geonet-mac-lookup-heapoverflow.pcap [new file with mode: 0644]