CVE-2025-39804 lib/crypto: arm64/poly1305: Fix register corruption in no-SIMD contexts
A missing SIMD usability check in the Linux kernel's arm64 Poly1305 implementation can corrupt registers or produce incorrect MACs, potentially causing system instability or data integrity issues.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2025-39804?
CVE-2025-39804 is a high-severity memory corruption vulnerability in Linux kernel, published on 15 Sep 2025. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official 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.
Which versions are affected by CVE-2025-39804?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2025-39804?
Apply the vendor's patch.
Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.
Is CVE-2025-39804 being exploited?
There is no known exploitation of CVE-2025-39804 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as BELL-CVE-2025-39804, DEBIAN-CVE-2025-39804, GHSA-hvpg-7hj3-vfp4, UBUNTU-CVE-2025-39804.