mirror of
https://github.com/the-tcpdump-group/tcpdump.git
synced 2024-11-24 10:33:28 +08:00
(for 4.9.3) CVE-2018-14463/VRRP: Add a missing bounds check
In vrrp_print(). This fixes a buffer over-read discovered by Bhargava Shastry. Add a test using the capture file supplied by the reporter(s).
This commit is contained in:
parent
bea2686c29
commit
3de07c7721
@ -142,9 +142,11 @@ vrrp_print(netdissect_options *ndo,
|
||||
|
||||
vec[0].ptr = bp;
|
||||
vec[0].len = len;
|
||||
if (in_cksum(vec, 1))
|
||||
if (in_cksum(vec, 1)) {
|
||||
ND_TCHECK_16BITS(&bp[6]);
|
||||
ND_PRINT((ndo, ", (bad vrrp cksum %x)",
|
||||
EXTRACT_16BITS(&bp[6])));
|
||||
}
|
||||
}
|
||||
|
||||
if (version == 3 && ND_TTEST2(bp[0], len)) {
|
||||
|
@ -556,6 +556,7 @@ ldp-ldp_tlv_print-oobr ldp-ldp_tlv_print-oobr.pcap ldp-ldp_tlv_print-oobr.out -v
|
||||
icmp-icmp_print-oobr-1 icmp-icmp_print-oobr-1.pcap icmp-icmp_print-oobr-1.out -v -c3
|
||||
icmp-icmp_print-oobr-2 icmp-icmp_print-oobr-2.pcap icmp-icmp_print-oobr-2.out -v -c3
|
||||
rsvp-rsvp_obj_print-oobr rsvp-rsvp_obj_print-oobr.pcap rsvp-rsvp_obj_print-oobr.out -v -c3
|
||||
vrrp-vrrp_print-oobr vrrp-vrrp_print-oobr.pcap vrrp-vrrp_print-oobr.out -v -c3
|
||||
# The .pcap file is truncated after the 1st packet.
|
||||
hncp_dhcpv6data-oobr hncp_dhcpv6data-oobr.pcap hncp_dhcpv6data-oobr.out -v -c1
|
||||
hncp_dhcpv4data-oobr hncp_dhcpv4data-oobr.pcap hncp_dhcpv4data-oobr.out -v -c1
|
||||
|
6
tests/vrrp-vrrp_print-oobr.out
Normal file
6
tests/vrrp-vrrp_print-oobr.out
Normal file
@ -0,0 +1,6 @@
|
||||
IP (tos 0x7f,CE, ttl 254, id 40208, offset 0, flags [none], proto VRRP (112), length 34, options (unknown 69 [bad length 83]), bad cksum 8e15 (->bc96)!)
|
||||
250.219.91.20 > 209.150.251.64: vrrp 250.219.91.20 > 209.150.251.64: VRRPv2, Advertisement, (ttl 254), vrid 2, prio 0, authtype simple, intvl 255s, length 6[|vrrp]
|
||||
IP (tos 0x7f,CE, ttl 254, id 40208, offset 0, flags [none], proto VRRP (112), length 40, options (unknown 69 [bad length 83]), bad cksum 8e15 (->b790)!)
|
||||
250.219.91.20 > 209.150.251.64: vrrp 250.219.91.20 > 209.150.251.64: VRRPv2, Advertisement, (ttl 254), vrid 2, prio 0, authtype simple, intvl 255s, length 12, addrs:[|vrrp]
|
||||
IP (tos 0x7f,CE, ttl 254, id 40208, offset 0, flags [none], proto VRRP (112), length 40, options (unknown 69 [bad length 83]), bad cksum 8e15 (->bc90)!)
|
||||
250.219.91.20 > 209.150.251.64: vrrp 250.219.91.20 > 209.150.251.64: VRRPv2, Advertisement, (ttl 254), vrid 2, prio 0, authtype simple, intvl 255s, length 12, addrs:[|vrrp]
|
BIN
tests/vrrp-vrrp_print-oobr.pcap
Normal file
BIN
tests/vrrp-vrrp_print-oobr.pcap
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user