af_key: Fix slab-out-of-bounds in pfkey_compile_policy.
authorSteffen Klassert <steffen.klassert@secunet.com>
Fri, 5 May 2017 05:40:42 +0000 (07:40 +0200)
committerBen Hutchings <ben@decadent.org.uk>
Fri, 15 Sep 2017 17:30:40 +0000 (18:30 +0100)
commit3d8757e4703f0025ea70f97e39e3b992f0cc3733
treefd38f5c57d189ed3bb93c81abfa6018f79c5fd46
parente8c2adcc49ad1e7c33f5d160dcb21b4d7eb5212a
af_key: Fix slab-out-of-bounds in pfkey_compile_policy.

commit d90c902449a7561f1b1d58ba5a0d11728ce8b0b2 upstream.

The sadb_x_sec_len is stored in the unit 'byte divided by eight'.
So we have to multiply this value by eight before we can do
size checks. Otherwise we may get a slab-out-of-bounds when
we memcpy the user sec_ctx.

Fixes: df71837d502 ("[LSM-IPSec]: Security association restriction.")
Reported-by: Andrey Konovalov <andreyknvl@google.com>
Tested-by: Andrey Konovalov <andreyknvl@google.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
net/key/af_key.c