Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-46033

CVE-2026-46033: Linux Kernel Privilege Escalation Flaw

CVE-2026-46033 is a privilege escalation vulnerability in the Linux kernel's crypto authencesn component that could allow attackers to gain elevated privileges. This article covers technical details, impact, and mitigation.

Published:

CVE-2026-46033 Overview

CVE-2026-46033 is a Linux kernel vulnerability in the crypto/authencesn module. The flaw allows an out-of-bounds memory access when an authencesn instance is created with an ahash whose digest size falls in the invalid 1-to-3 byte range. The function crypto_authenc_esn_create() copied auth->digestsize into inst->alg.maxauthsize without validating it, leaving the AEAD core to initialize a tfm default authsize that crypto_authenc_esn_setauthsize() would otherwise reject. Userspace can reach this path through AF_ALG, triggering ESN tail handling with a too-short tag.

Critical Impact

Local users can trigger an out-of-bounds access in kernel crypto code by requesting an authencesn instance built on a short-digest ahash such as cbcmac(cipher_null).

Affected Products

  • Linux kernel (upstream crypto/authencesn subsystem)
  • Stable kernel branches receiving the referenced backport commits
  • Distributions shipping kernels with the unpatched crypto_authenc_esn_create() path

Discovery Timeline

  • 2026-05-27 - CVE-2026-46033 published to NVD
  • 2026-05-27 - Last updated in NVD database

Technical Details for CVE-2026-46033

Vulnerability Analysis

The authencesn template implements Authenticated Encryption with Extended Sequence Number (ESN) for IPsec. The ESN encrypt and decrypt paths always relocate 4 bytes of high-order sequence number data at the end of the authenticated data. As a result, authencesn requires either a zero authsize or an authsize of at least 4 bytes.

The explicit setter crypto_authenc_esn_setauthsize() correctly rejects non-zero authsizes in the 1-to-3 byte range. However, crypto_authenc_esn_create() copied the inner ahash's digestsize directly into inst->alg.maxauthsize with no validation. The AEAD core then used that value to initialize the tfm's default authsize.

Root Cause

The root cause is a missing input validation check during instance creation [CWE-20]. The construction path trusted the underlying ahash's digest size to fall within a supported range, while the runtime setter enforced a stricter invariant. This mismatch allowed an instance to expose a default authsize that the setter would have rejected.

Attack Vector

A local attacker uses the AF_ALG socket interface to instantiate authencesn over an ahash with a 1-to-3 byte digest, such as cbcmac(cipher_null). The resulting tfm inherits an invalid default authsize. Submitting data through this transform causes the ESN tail handling to operate on a buffer that is too short for the 4-byte sequence number copy, producing an out-of-bounds access in kernel memory.

The fix rejects authencesn instance creation when the ahash digest size is in the invalid non-zero 1-to-3 range, ensuring no tfm can inherit an unsupported default authsize. See the patch in Kernel Commit b69933e9 and its stable backports for details.

Detection Methods for CVE-2026-46033

Indicators of Compromise

  • Kernel oops, KASAN reports, or panic traces referencing crypto_authenc_esn_* functions
  • Processes opening AF_ALG sockets and binding to authencesn(...) templates with unusual inner hashes such as cbcmac(cipher_null)
  • Unexpected kernel log entries from the crypto subsystem on systems that do not normally use IPsec ESN

Detection Strategies

  • Audit auditd or eBPF telemetry for socket(AF_ALG, ...) calls followed by bind() payloads naming authencesn templates
  • Correlate KASAN or dmesg out-of-bounds reports in the crypto path with the originating user process and UID
  • Inventory running kernel versions against the fixed commits referenced in the stable tree

Monitoring Recommendations

  • Forward kernel logs and crash telemetry to a centralized analytics platform for review
  • Alert on userspace binaries that load uncommon crypto algorithm strings through AF_ALG
  • Track patch deployment status across Linux fleets to confirm vulnerable kernels are replaced

How to Mitigate CVE-2026-46033

Immediate Actions Required

  • Apply the upstream fix or the corresponding distribution kernel update that includes the validation in crypto_authenc_esn_create()
  • Reboot affected hosts after installing the patched kernel package to ensure the fixed code is active
  • Restrict use of the AF_ALG interface to trusted users where it is not required by workloads

Patch Information

The fix adds validation so that authencesn instances with an ahash digest size in the invalid 1-to-3 range are rejected at creation time. Upstream and stable patches are available at Kernel Commit b69933e9, Kernel Commit 9aff81e8, Kernel Commit 67f1f09, Kernel Commit 5db6ef9, and Kernel Commit b42821c1.

Workarounds

  • Disable the algif_aead module if AF_ALG AEAD access is not needed: modprobe -r algif_aead
  • Blocklist loading of authencesn and algif_aead via /etc/modprobe.d/ on systems that do not require IPsec ESN userspace crypto
  • Limit local user access on multi-tenant systems until the patched kernel is deployed

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.