Executive brief
A vulnerability was identified in the Linux kernel's cryptographic subsystem that could allow a local attacker to cause a system crash. The issue exists in how the kernel handles specific authentication sizes during the creation of secure communication instances. By providing an unexpectedly small authentication tag size, an attacker could trigger an out-of-bounds memory access, leading to a denial-of-service condition.
Technical details
A vulnerability in the Linux kernel's crypto/authencesn.c component arises because crypto_authenc_esn_create() fails to validate the ahash digest size. While setauthsize() correctly rejects non-zero authsizes between 1 and 3 bytes, the creation path allows these values to be copied into the algorithm's maxauthsize. An attacker using the AF_ALG interface can select an ahash with a digest size of 1-3 bytes (e.g., cbcmac(cipher_null)), causing the AEAD core to initialize a transformation with an invalid default authsize. This triggers out-of-bounds access during ESN tail handling because the encrypt/decrypt paths expect at least 4 bytes to move high-order sequence number data. The issue has been resolved by adding a check to reject instances with digest sizes in the 1-3 byte range.
Affected products
- Linux Linux kernel All versions prior to the May 2026 patches
Timeline
- 2026-04-22: patched: Initial fix authored by Yucheng Lu
- 2026-05-27: disclosed: CVE-2026-46033 published
References
- https://git.kernel.org/stable/c/5db6ef9847717329f12c5ea8aba7e9f588a980c0
- https://git.kernel.org/stable/c/67f1f0933cc3d78dde222842bcad2778ec7a0b88
- https://git.kernel.org/stable/c/9aff81e8217e9de2929084b03b3c7f81988c112b
- https://git.kernel.org/stable/c/b42821c15445f93daea3e76ada682b2b7181c476
- https://git.kernel.org/stable/c/b69933e97efea238ebbfcf70c2b1be1cd03f13e3