Impact
The vulnerability is an integer underflow in the Linux kernel’s mpi_read_raw_from_sgl() function. When the number of leading zeros in the input scatterlist exceeds the supplied byte count, the subtraction of the zero count from the unsigned byte count results in an underflow. The subsequent loop over the scatterlist never terminates, causing the kernel to spin indefinitely and ultimately generate a soft lockup. This manifests as a denial of service to the affected system.
Affected Systems
All Linux kernel implementations that include the lib/crypto mpi module are affected. The issue can be triggered through the KEYCTL_PKEY_EN system call, which builds an all‑zero scatterlist when the output length is larger than the input length. Any system running a vulnerable kernel and capable of invoking the asymmetric key encrypt operation via keyctl is vulnerable, regardless of distribution or kernel version prior to the patch.
Risk and Exploitability
The vulnerability has no current EPSS score or KEV listing, but it allows a local user to induce a kernel soft lockup, signifying a high severity Denial of Service. The attack vector requires the ability to call KEYCTL_PKEY_EN with parameters that satisfy the trigger conditions; this can normally be performed by any user with permission to use the keyctl API. With the missing score information, the risk should still be treated as high due to the destructive impact of a kernel lockup.
OpenCVE Enrichment