Re: [PATCH net v2] ipv6: sr: Fix MAC comparison to be constant-time
From: Andrea Mayer <andrea.mayer@uniroma2.it>
Date: 2025-08-20 15:37:51
Also in:
linux-crypto, stable
On Mon, 18 Aug 2025 13:27:24 -0700 Eric Biggers [off-list ref] wrote:
To prevent timing attacks, MACs need to be compared in constant time.
Use the appropriate helper function for this.
Fixes: bf355b8d2c30 ("ipv6: sr: add core files for SR HMAC support")
Cc: stable@vger.kernel.org
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
---
v2: sent as standalone patch targeting net instead of net-next.
net/ipv6/seg6_hmac.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)The fix looks good to me. Thanks! Ciao, Andrea Reviewed-by: Andrea Mayer <andrea.mayer@uniroma2.it>
quoted hunk ↗ jump to hunk
diff --git a/net/ipv6/seg6_hmac.c b/net/ipv6/seg6_hmac.c index f78ecb6ad8383..5dae892bbc73b 100644 --- a/net/ipv6/seg6_hmac.c +++ b/net/ipv6/seg6_hmac.c@@ -33,10 +33,11 @@ #include <net/ip6_route.h> #include <net/addrconf.h> #include <net/xfrm.h> #include <crypto/hash.h> +#include <crypto/utils.h> #include <net/seg6.h> #include <net/genetlink.h> #include <net/seg6_hmac.h> #include <linux/random.h>@@ -278,11 +279,11 @@ bool seg6_hmac_validate_skb(struct sk_buff *skb) return false; if (seg6_hmac_compute(hinfo, srh, &ipv6_hdr(skb)->saddr, hmac_output)) return false; - if (memcmp(hmac_output, tlv->hmac, SEG6_HMAC_FIELD_LEN) != 0) + if (crypto_memneq(hmac_output, tlv->hmac, SEG6_HMAC_FIELD_LEN)) return false; return true; } EXPORT_SYMBOL(seg6_hmac_validate_skb);base-commit: 715c7a36d59f54162a26fac1d1ed8dc087a24cf1 -- 2.50.1