Executive brief
A vulnerability in the Linux kernel's cryptographic library could allow a local user to crash the system or cause it to become unresponsive. By providing specific zero-filled data to certain encryption functions, an attacker can trigger an internal error that causes the kernel to enter an infinite loop. This results in a denial-of-service (DoS) condition, impacting the availability of the affected server or workstation.
Technical details
An integer underflow exists in the 'lib/crypto/mpi' component of the Linux kernel, specifically within the mpi_read_raw_from_sgl() function. The flaw occurs when the function processes a scatterlist (sgl) that contains more bytes than the 'nbytes' parameter, particularly when the leading bytes are zero. In this scenario, the loop counting leading zeros can exceed 'nbytes', causing an underflow when subtracting the count from the unsigned 'nbytes' variable. This bug is reachable via the KEYCTL_PKEY_ENCRYPT system call when a user provides an input buffer filled with zeros and an output length larger than the input length. The resulting underflow causes the kernel to enter an infinite loop, manifesting as a soft lockup and system-wide denial-of-service. Patches have been released for various stable kernel branches (v4.4+).
Affected products
- Linux Linux Kernel v4.4+
Timeline
- 2026-04-12: patched: Initial patch authored by Lukas Wunner
- 2026-05-19: advisory: CVE-2026-43492 published by kernel.org and NVD
References
- https://git.kernel.org/stable/c/26d3a97ad46c7a9226ec04d4bf35bd4998a97d16
- https://git.kernel.org/stable/c/2aa77a18dc7f2670497fe3ee5acbeda0b57659e5
- https://git.kernel.org/stable/c/30e513e755bb381afce6fb57cdc8694136193f22
- https://git.kernel.org/stable/c/8637dfb4c1d8a7026ef681f2477c6de8b71c4003
- https://git.kernel.org/stable/c/8c2f1288250a90a4b5cabed5d888d7e3aeed4035