dccp: fix out of bound access in dccp_v4_err()
authorEric Dumazet <edumazet@google.com>
Thu, 3 Nov 2016 02:00:40 +0000 (19:00 -0700)
committerWilly Tarreau <w@1wt.eu>
Fri, 10 Feb 2017 10:03:54 +0000 (11:03 +0100)
commit261def571d19d3b4e2228643c5c0ac89f5e10d15
tree72a17897911be44a345c0bdda124f6c1443bfff6
parent7507bf351090d32ad774960571a0c9c4cf3cd649
dccp: fix out of bound access in dccp_v4_err()

commit 6706a97fec963d6cb3f7fc2978ec1427b4651214 upstream.

dccp_v4_err() does not use pskb_may_pull() and might access garbage.

We only need 4 bytes at the beginning of the DCCP header, like TCP,
so the 8 bytes pulled in icmp_socket_deliver() are more than enough.

This patch might allow to process more ICMP messages, as some routers
are still limiting the size of reflected bytes to 28 (RFC 792), instead
of extended lengths (RFC 1812 4.3.2.3)

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Willy Tarreau <w@1wt.eu>
net/dccp/ipv4.c