]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
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)
committerBen Hutchings <ben@decadent.org.uk>
Thu, 16 Mar 2017 02:27:20 +0000 (02:27 +0000)
commit46b1ffd4738a3ee04b2e8f5a4b8cfc39e9c722a2
tree4a1823a402d64bd3caeb3c3884eff82dd075446e
parent520ff0018fdc5617d5e6d9c7f0a68a35029fb3d6
dccp: fix out of bound access in dccp_v4_err()

[ Upstream commit 6706a97fec963d6cb3f7fc2978ec1427b4651214 ]

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>
[bwh: Backported to 3.16: use offsetof() + sizeof() instead of
 offsetofend()]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
net/dccp/ipv4.c