]> The Tcpdump Group git mirrors - tcpdump/commit
CVE-2017-13055/IS-IS: fix an Extended IS Reachability sub-TLV
authorDenis Ovsienko <[email protected]>
Wed, 16 Aug 2017 22:04:31 +0000 (23:04 +0100)
committerDenis Ovsienko <[email protected]>
Sun, 3 Sep 2017 23:08:58 +0000 (00:08 +0100)
commit71968ea3db996f70e4f3c01581231ce210c85720
tree83aafe9e1da7be1974f4c91f8c3d966ba750e0a3
parent7a7f71ee3f77b8ac08f2f4f7747ce8b8fa5b91f9
CVE-2017-13055/IS-IS: fix an Extended IS Reachability sub-TLV

In isis_print_is_reach_subtlv() one of the case blocks did not check that
the sub-TLV "V" is actually present and could over-read the input buffer.
Add a length check to fix that and remove a useless boundary check from
a loop because the boundary is tested for the full length of "V" before
the switch block.

Update one of the prior test cases as it turns out it depended on this
previously incorrect code path to make it to its own malformed structure
further down the buffer, the bugfix has changed its output.

This fixes a buffer over-read discovered by Bhargava Shastry,
SecT/TU Berlin.

Add a test using the capture file supplied by the reporter(s).
print-isoclns.c
tests/TESTLIST
tests/isis-extd-isreach-oobr.out [new file with mode: 0644]
tests/isis-extd-isreach-oobr.pcap [new file with mode: 0644]
tests/isis-seg-fault-1-v.out