[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20171001134852.5aadf10b@xeon-e3>
Date: Sun, 1 Oct 2017 13:48:52 -0700
From: Stephen Hemminger <stephen@...workplumber.org>
To: Michal Kubecek <mkubecek@...e.cz>
Cc: netdev@...r.kernel.org
Subject: Re: [PATCH iproute2] ip xfrm: use correct key length for netlink
message
On Fri, 29 Sep 2017 13:41:05 +0200 (CEST)
Michal Kubecek <mkubecek@...e.cz> wrote:
> When SA is added manually using "ip xfrm state add", xfrm_state_modify()
> uses alg_key_len field of struct xfrm_algo for the length of key passed to
> kernel in the netlink message. However alg_key_len is bit length of the key
> while we need byte length here. This is usually harmless as kernel ignores
> the excess data but when the bit length of the key exceeds 512
> (XFRM_ALGO_KEY_BUF_SIZE), it can result in buffer overflow.
>
> We can simply divide by 8 here as the only place setting alg_key_len is in
> xfrm_algo_parse() where it is always set to a multiple of 8 (and there are
> already multiple places using "algo->alg_key_len / 8").
>
> Signed-off-by: Michal Kubecek <mkubecek@...e.cz>
This looks correct applied.
Powered by blists - more mailing lists