[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2025091551-CVE-2025-39804-bf3b@gregkh>
Date: Mon, 15 Sep 2025 14:36:54 +0200
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...nel.org>
Subject: CVE-2025-39804: lib/crypto: arm64/poly1305: Fix register corruption in no-SIMD contexts
From: Greg Kroah-Hartman <gregkh@...nel.org>
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
lib/crypto: arm64/poly1305: Fix register corruption in no-SIMD contexts
Restore the SIMD usability check that was removed by commit a59e5468a921
("crypto: arm64/poly1305 - Add block-only interface").
This safety check is cheap and is well worth eliminating a footgun.
While the Poly1305 functions should not be called when SIMD registers
are unusable, if they are anyway, they should just do the right thing
instead of corrupting random tasks' registers and/or computing incorrect
MACs. Fixing this is also needed for poly1305_kunit to pass.
Just use may_use_simd() instead of the original crypto_simd_usable(),
since poly1305_kunit won't rely on crypto_simd_disabled_for_test.
The Linux kernel CVE team has assigned CVE-2025-39804 to this issue.
Affected and fixed versions
===========================
Issue introduced in 6.16 with commit a59e5468a921937cb7317892779c67046ad9f5cc and fixed in 6.16.4 with commit ef74efa598b7bbc5c24509f7f56af2806f81c339
Issue introduced in 6.16 with commit a59e5468a921937cb7317892779c67046ad9f5cc and fixed in 6.17-rc1 with commit eec76ea5a7213c48529a46eed1b343e5cee3aaab
Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.
Unaffected versions might change over time as fixes are backported to
older supported kernel versions. The official CVE entry at
https://cve.org/CVERecord/?id=CVE-2025-39804
will be updated if fixes are backported, please check that for the most
up to date information about this issue.
Affected files
==============
The file(s) affected by this issue are:
lib/crypto/arm64/poly1305-glue.c
Mitigation
==========
The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes. Individual
changes are never tested alone, but rather are part of a larger kernel
release. Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all. If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
https://git.kernel.org/stable/c/ef74efa598b7bbc5c24509f7f56af2806f81c339
https://git.kernel.org/stable/c/eec76ea5a7213c48529a46eed1b343e5cee3aaab
Powered by blists - more mailing lists