]> git.baikalelectronics.ru Git - kernel.git/commit
xfrm/compat: prevent potential spectre v1 gadget in xfrm_xlate32_attr()
authorEric Dumazet <edumazet@google.com>
Fri, 20 Jan 2023 13:02:49 +0000 (13:02 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 14 Feb 2023 18:11:42 +0000 (19:11 +0100)
commitd3bb3bf34c486f662c645535d4ed3f95fc9e013c
tree16de3a80a7ded3f2c3ddea5ebcd5e6f5c8283a5a
parent28d0aa9fa2ffedcd50298ca29b8fedc323cf69c1
xfrm/compat: prevent potential spectre v1 gadget in xfrm_xlate32_attr()

[ Upstream commit c91b7f88c1f5f397947e0d42e590254be780f282 ]

  int type = nla_type(nla);

  if (type > XFRMA_MAX) {
            return -EOPNOTSUPP;
  }

@type is then used as an array index and can be used
as a Spectre v1 gadget.

  if (nla_len(nla) < compat_policy[type].len) {

array_index_nospec() can be used to prevent leaking
content of kernel memory to malicious users.

Fixes: c42e3e906dd4 ("xfrm/compat: Add 32=>64-bit messages translator")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Dmitry Safonov <dima@arista.com>
Cc: Steffen Klassert <steffen.klassert@secunet.com>
Reviewed-by: Dmitry Safonov <dima@arista.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/xfrm/xfrm_compat.c