CVE-2026-64313: crypto: ecc - Fix carry overflow in vli multiplication
Greg Kroah-Hartman <[email protected]> Sat, 25 Jul 2026 10:48:50 +0200
| Newsgroups | org.kernel.vger.linux-cve-announce |
|---|---|
| Message-ID | <2026072509-CVE-2026-64313-1119@gregkh> |
From: Greg Kroah-Hartman <[email protected]> Description =========== In the Linux kernel, the following vulnerability has been resolved: crypto: ecc - Fix carry overflow in vli multiplication The carry flag calculation fails when r01.m_high is saturated (0xFFFFFFFFFFFFFFFF) and addition of lower bits overflows. The condition (r01.m_high < product.m_high) doesn't handle the case where r01.m_high == product.m_high and an additional carry exists from lower-bit overflow. When commit 3c4b23901a0c ("crypto: ecdh - Add ECDH software support") introduced crypto/ecc.c, it split the muladd() function in the micro-ecc library into separate mul_64_64() and add_128_128() helpers. It seems the check got lost in translation. Add proper handling for this boundary by accounting for the carry from the lower addition. The Linux kernel CVE team has assigned CVE-2026-64313 to this issue. Affected and fixed versions =========================== Issue introduced in 4.8 with commit 3c4b23901a0c766879dff680cd6bdab47bcdbbd2 and fixed in 5.10.261 with commit d11b2bb99bec1f5557c01cac42231e23745f49b8 Issue introduced in 4.8 with commit 3c4b23901a0c766879dff680cd6bdab47bcdbbd2 and fixed in 5.15.212 with commit b709e0e768766abe29a49e1c1922a1604be602f4 Issue introduced in 4.8 with commit 3c4b23901a0c766879dff680cd6bdab47bcdbbd2 and fixed in 6.1.178 with commit 24a54dfa06d09813b4802a374fad3d2c0e16a884 Issue introduced in 4.8 with commit 3c4b23901a0c766879dff680cd6bdab47bcdbbd2 and fixed in 6.6.145 with commit 677450e5ef850c4d28b7956aa01104548c2a894e Issue introduced in 4.8 with commit 3c4b23901a0c766879dff680cd6bdab47bcdbbd2 and fixed in 6.12.96 with commit 5275e0fca256d081e2e7d4ba3dd8216c6e50d44e Issue introduced in 4.8 with commit 3c4b23901a0c766879dff680cd6bdab47bcdbbd2 and fixed in 6.18.39 with commit 774ddddf5eb26eeca177350413e3e2bc50930ee9 Issue introduced in 4.8 with commit 3c4b23901a0c766879dff680cd6bdab47bcdbbd2 and fixed in 7.1.4 with commit ebaae7c4251cc0cdb2602f334d4f08a3e82d271e Issue introduced in 4.8 with commit 3c4b23901a0c766879dff680cd6bdab47bcdbbd2 and fixed in 7.2-rc1 with commit 27b536a2ec8e2f85a0380c2d13c9ecbc7aaab406 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-2026-64313 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: crypto/ecc.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/d11b2bb99bec1f5557c01cac42231e23745f49b8 https://git.kernel.org/stable/c/b709e0e768766abe29a49e1c1922a1604be602f4 https://git.kernel.org/stable/c/24a54dfa06d09813b4802a374fad3d2c0e16a884 https://git.kernel.org/stable/c/677450e5ef850c4d28b7956aa01104548c2a894e https://git.kernel.org/stable/c/5275e0fca256d081e2e7d4ba3dd8216c6e50d44e https://git.kernel.org/stable/c/774ddddf5eb26eeca177350413e3e2bc50930ee9 https://git.kernel.org/stable/c/ebaae7c4251cc0cdb2602f334d4f08a3e82d271e https://git.kernel.org/stable/c/27b536a2ec8e2f85a0380c2d13c9ecbc7aaab406