Michal Kubeček 3de81b7588 tipc: check minimum bearer MTU
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: b97bf3fd8f6a ("[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>
2016-12-02 14:03:20 -05:00
..
2015-05-14 12:24:45 -04:00
2016-12-02 14:03:20 -05:00
2016-12-02 14:03:20 -05:00
2016-06-15 14:06:28 -07:00
2016-06-15 14:06:28 -07:00
2016-06-29 05:17:37 -04:00
2015-03-05 22:08:42 -05:00
2016-07-26 14:26:42 -07:00
2016-03-07 14:56:41 -05:00
2016-08-18 23:36:07 -07:00
2016-12-02 14:03:20 -05:00