Files
linux/net/tipc
Michal Kubeček 65d30f7545 tipc: check minimum bearer MTU
commit 3de81b7588 upstream.

Qian Zhang (张谦) reported a potential socket buffer overflow in
tipc_msg_build() which is also known as CVE-2016-8632: due to
insufficient checks, a buffer overflow can occur if MTU is too short for
even tipc headers. As anyone can set device MTU in a user/net namespace,
this issue can be abused by a regular user.

As agreed in the discussion on Ben Hutchings' original patch, we should
check the MTU at the moment a bearer is attached rather than for each
processed packet. We also need to repeat the check when bearer MTU is
adjusted to new device MTU. UDP case also needs a check to avoid
overflow when calculating bearer MTU.

Fixes: b97bf3fd8f ("[TIPC] Initial merge")
Signed-off-by: Michal Kubecek <mkubecek@suse.cz>
Reported-by: Qian Zhang (张谦) <zhangqian-c@360.cn>
Acked-by: Ying Xue <ying.xue@windriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
[bwh: Backported to 4.4:
 - Adjust context
 - NETDEV_GOING_DOWN and NETDEV_CHANGEMTU cases in net notifier were combined]
Signed-off-by: Ben Hutchings <ben.hutchings@codethink.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-04-30 05:49:28 +02:00
..
2015-05-14 12:24:45 -04:00
2015-05-14 12:24:45 -04:00
2016-03-03 15:07:07 -08:00
2017-04-30 05:49:28 +02:00
2017-04-30 05:49:28 +02:00
2017-04-30 05:49:27 +02:00
2017-04-30 05:49:27 +02:00
2015-03-05 22:08:42 -05:00
2015-03-05 22:08:42 -05:00
2017-04-30 05:49:27 +02:00
2017-04-30 05:49:28 +02:00
2017-04-30 05:49:28 +02:00