Skip to main content

Linux Kernel CVE-2026-53302

| EUVDEUVD-2026-39837 MEDIUM
NULL Pointer Dereference (CWE-476)
2026-06-26 Linux GHSA-62v4-cxjv-v35x
5.5
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
vuln.today AI
5.5 MEDIUM

Local access and low privilege required to invoke the crypto API; pure availability impact via kernel panic; no confidentiality or integrity effect.

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE
MEDIUM
qualitative

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

5
Analysis Generated
Jul 06, 2026 - 20:56 vuln.today
CVSS changed
Jul 06, 2026 - 20:37 NVD
5.5 (MEDIUM)
Patch available
Jun 26, 2026 - 21:02 EUVD
CVE Published
Jun 26, 2026 - 19:40 nvd
MEDIUM 5.5
CVE Published
Jun 26, 2026 - 19:40 cve.org
UNKNOWN (no severity yet)

DescriptionNVD

In the Linux kernel, the following vulnerability has been resolved:

crypto: eip93 - fix hmac setkey algo selection

eip93_hmac_setkey() allocates a temporary ahash transform for computing HMAC ipad/opad key material. The allocation uses the driver-specific cra_driver_name (e.g. "sha256-eip93") but passes CRYPTO_ALG_ASYNC as the mask, which excludes async algorithms.

Since the EIP93 hash algorithms are the only ones registered under those driver names and they are inherently async, the lookup is self-contradictory and always fails with -ENOENT.

When called from the AEAD setkey path, this failure leaves the SA record partially initialized with zeroed digest fields. A subsequent crypto operation then dereferences a NULL pointer in the request context, resulting in a kernel panic:

  pc : eip93_aead_handle_result+0xc8c/0x1240 [crypto_hw_eip93]
  lr : eip93_aead_handle_result+0xbec/0x1240 [crypto_hw_eip93]
  sp : ffffffc082feb820
  x29: ffffffc082feb820 x28: ffffff8011043980 x27: 0000000000000000
  x26: 0000000000000000 x25: ffffffc078da0bc8 x24: 0000000091043980
  x23: ffffff8004d59e50 x22: ffffff8004d59410 x21: ffffff8004d593c0
  x20: ffffff8004d593c0 x19: ffffff8004d4f300 x18: 0000000000000000
  x17: 0000000000000000 x16: 0000000000000000 x15: 0000007fda7aa498
  x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000
  x11: 0000000000000000 x10: fffffffff8127a80 x9 : 0000000000000000
  x8 : ffffff8004d4f380 x7 : 0000000000000000 x6 : 000000000000003f
  x5 : 0000000000000040 x4 : 0000000000000008 x3 : 0000000000000009
  x2 : 0000000000000008 x1 : 0000000028000003 x0 : ffffff8004d388c0
  Code: 910142b6 f94012e0 f9002aa0 f90006d3 (f9400740)

The reported symbol eip93_aead_handle_result+0xc8c is a resolution artifact from static functions being merged under the nearest exported symbol. Decoding the faulting sequence:

  910142b6  ADD  X22, X21, #0x50
  f94012e0  LDR  X0, [X23, #0x20]
  f9002aa0  STR  X0, [X21, #0x50]
  f90006d3  STR  X19, [X22, #0x8]
  f9400740  LDR  X0, [X26, #0x8]

The faulting LDR at [X26, #0x8] is loading ctx->flags (offset 8 in eip93_hash_ctx), where ctx has been resolved to NULL from a partially initialized or unreachable transform context following the failed setkey.

Fix this by dropping the CRYPTO_ALG_ASYNC mask from the crypto_alloc_ahash() call. The code already handles async completion correctly via crypto_wait_req(), so there is no requirement to restrict the lookup to synchronous algorithms.

Note that hashing a single 64-byte block through the hardware is likely slower than doing it in software due to the DMA round-trip overhead, but offloading it may still spare CPU cycles on the slower embedded cores where this IP is found.

[Detailed investigation report of this bug]

AnalysisAI

NULL pointer dereference in the Linux kernel's EIP93 hardware crypto driver triggers a kernel panic during AEAD crypto operations on affected embedded systems. The root cause is a self-contradictory algorithm lookup mask in eip93_hmac_setkey() - CRYPTO_ALG_ASYNC is passed as an exclusion mask, yet EIP93 algorithms are inherently async, so the lookup always returns -ENOENT. This leaves the AEAD security association record with zeroed digest fields; any subsequent crypto operation then dereferences a NULL context pointer, crashing the kernel. No public exploit is identified at time of analysis, and EPSS is very low (0.17%, 6th percentile), reflecting the narrow hardware-specific attack surface.

Technical ContextAI

The EIP93 is a hardware crypto accelerator IP core found in embedded SoCs (typically MIPS/ARM-based routers and similar devices). The affected driver module is crypto_hw_eip93. The bug resides in eip93_hmac_setkey(), which calls crypto_alloc_ahash() with CRYPTO_ALG_ASYNC as the mask argument. In the Linux crypto API, the mask parameter excludes matching algorithm properties - passing CRYPTO_ALG_ASYNC as the mask therefore excludes async algorithms from the lookup. Since all EIP93 hash algorithms (e.g., 'sha256-eip93') are registered as async, the lookup is self-defeating and always fails with -ENOENT. This leaves the SA (Security Association) record partially initialized with zeroed digest fields. A subsequent AEAD operation resolves ctx to NULL and dereferences offset 0x8 (ctx->flags in eip93_hash_ctx), producing the kernel panic shown in the register dump. CWE-476 (NULL Pointer Dereference) accurately characterizes this root cause class. CPE data confirms the affected product as cpe:2.3:a:linux:linux (all versions containing the vulnerable driver, starting from commit 9739f5f93b7806a684713ba42e6ed2d1df7c8100).

RemediationAI

Vendor-released patch: Linux 6.18.33, 7.0.10, and 7.1 contain the fix. The upstream fix is a one-line change: remove CRYPTO_ALG_ASYNC from the mask argument in crypto_alloc_ahash() within eip93_hmac_setkey(), allowing the lookup to correctly match async EIP93 hash algorithms. Apply the relevant stable branch fix commit from https://git.kernel.org/stable/c/fc9310d79fdb117b369a01eb00f4fd5fb4849d4e (7.1), https://git.kernel.org/stable/c/ec226d3e58bb9f0e26a77346085b6b4d594d53d8 (7.0.x), or https://git.kernel.org/stable/c/3ba3b02f897b14e34977e1886d95ffe64d907204 (6.18.x). If patching is not immediately feasible, blacklisting the crypto_hw_eip93 kernel module (echo 'blacklist crypto_hw_eip93' >> /etc/modprobe.d/eip93.conf) prevents the panic at the cost of falling back to software crypto, increasing CPU load for all crypto operations on affected embedded devices.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Not-Affected

Share

CVE-2026-53302 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy