MEDIUM 5.5

CVE-2026-53302: Linux Kernel EIP93 HMAC Setkey Null Pointer Dereference DoS

A flaw in the Linux kernel's EIP93 cryptographic hardware driver causes the system to crash when setting up HMAC encryption keys. The driver attempts to use a temporary encryption tool that doesn't exist because it's looking for the wrong type of algorithm—specifically excluding the async (asynchronous) algorithms that the driver actually provides. When this lookup fails, the encryption setup process leaves critical data uninitialized, and the next time the system tries to use that encryption setup, it crashes trying to access memory that was never properly configured. The vulnerability requires local access and authenticated user privileges to trigger.

Source data · NVD / CISA · public domain

CVSS
3.1 · 5.5 MEDIUM · CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Weaknesses (CWE)
CWE-476
Affected products
1 configuration(s)
Published / Modified
2026-06-26 / 2026-07-06

NVD description (verbatim)

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]

3 reference(s) · View on NVD →

SEC.co analysis · AI-assisted, reviewed against source

Technical summary

CVE-2026-53302 is a null pointer dereference in the eip93_hmac_setkey() function within the Linux kernel's EIP93 hardware crypto module. The function allocates a temporary ahash transform using crypto_alloc_ahash() with the CRYPTO_ALG_ASYNC mask to derive HMAC ipad/opad material. However, this is contradictory: the lookup specifies a driver-specific cra_driver_name (e.g., "sha256-eip93") while excluding async algorithms via the mask. Since EIP93 registers only async hash implementations under those names, the allocation consistently fails with -ENOENT. When invoked from the AEAD setkey path, the failure leaves the SA record partially initialized with zeroed digest fields. Subsequent crypto operations dereference ctx->flags from an uninitialized transform context, triggering a kernel panic. The fix removes the CRYPTO_ALG_ASYNC mask restriction, allowing the lookup to succeed. The existing crypto_wait_req() infrastructure already handles async completion correctly, making the mask unnecessary.

Business impact

This vulnerability affects Linux systems using the EIP93 hardware crypto accelerator, found primarily in embedded and ARM-based platforms. Systems attempting HMAC-based encryption operations (particularly AEAD ciphers) will experience kernel panics, causing immediate denial of service. For infrastructure relying on these systems for security services or data processing, unplanned downtime directly impacts availability and may disrupt cryptographic operations. Organizations using affected hardware should prioritize patching to restore stability, though the vulnerability requires local authenticated access, limiting the blast radius in typical remote-first deployments.

Affected systems

The Linux kernel, specifically versions and builds that include the EIP93 hardware cryptography driver module (crypto_hw_eip93). The vulnerability is most relevant to embedded systems, ARM-based devices, and specialized hardware platforms equipped with EIP93 crypto accelerators. Desktop and server systems without EIP93 hardware are not affected. The issue manifests when the EIP93 crypto module is loaded and HMAC or AEAD operations are attempted.

Exploitability

Exploitation requires local system access and authenticated user privileges (PR:L per CVSS vector). The attacker must be able to invoke cryptographic operations using HMAC or AEAD algorithms backed by the EIP93 driver. This is not a remote vulnerability. Once triggered, the impact is reliable and deterministic—the kernel panic occurs consistently during the vulnerable operation. There is no user interaction required beyond issuing the crypto operation itself.

Remediation

Apply kernel patches that remove the CRYPTO_ALG_ASYNC mask from the crypto_alloc_ahash() call in eip93_hmac_setkey(). This allows the algorithm lookup to succeed by not artificially restricting the search to synchronous implementations. The fix is minimal and preserves the existing async completion handling through crypto_wait_req(). Monitor vendor advisories for patched kernel versions targeting systems with EIP93 hardware support.

Patch guidance

Obtain and install the patched Linux kernel version from your distribution or device vendor that includes the fix for eip93_hmac_setkey(). Verify the patch commit addresses the CRYPTO_ALG_ASYNC mask removal in the EIP93 driver code. Test the patch in a non-production environment before rolling out broadly, particularly if your systems depend on hardware-accelerated cryptography. Reboot affected systems after applying the patch.

Detection guidance

Monitor kernel logs and system event logs for eip93_aead_handle_result panic messages or kernel oops traces referencing the EIP93 driver. These indicate exploitation or exposure. If your platform does not use EIP93 hardware acceleration (verify via kernel modules and device presence), this vulnerability does not apply. Check dmesg or journalctl for crashes related to crypto operations on affected hardware. Organizations can also audit systems to confirm whether the EIP93 crypto module is actually loaded and in use.

Why prioritize this

Although the CVSS base score is 5.5 (MEDIUM), prioritization depends on whether your infrastructure actually deploys EIP93 hardware accelerators. If you do, patch immediately because kernel panics cause direct availability impact. If you do not, this is a lower priority. The local-only attack requirement and need for authenticated access reduce the remote attack surface, but the reliable crash mechanism and impact on cryptographic service availability warrant timely remediation for affected deployments.

Risk score, explained

The CVSS 3.1 score of 5.5 reflects a local attack vector (AV:L), low complexity (AC:L), requirement for low privileges (PR:L), no user interaction (UI:N), and high availability impact (A:H) with no confidentiality or integrity impact. The score appropriately captures a local denial-of-service condition that requires authentication, not a remote code execution or data breach vector. Organizations using EIP93 should weight this as more severe due to cryptography service disruption; others can apply standard MEDIUM prioritization.

Frequently asked questions

Does this affect my Linux system if I don't use EIP93 crypto hardware?

No. The vulnerability is specific to systems with EIP93 hardware crypto accelerators, typically embedded or ARM-based platforms. Most desktop and server systems without this specialized hardware are unaffected. Check your system's loaded kernel modules (lsmod | grep eip93) or hardware inventory to confirm.

Can this be exploited remotely?

No. The vulnerability requires local authenticated access to trigger cryptographic operations on the affected system. It is not a remote exploit vector. Systems with proper access controls and network isolation are at lower risk.

What happens when the vulnerability is triggered?

The kernel crashes (panics) with a null pointer dereference. This causes immediate denial of service for any process using HMAC or AEAD encryption via the EIP93 driver. The system must be rebooted to recover.

Will applying the patch break other functionality?

No. The patch only removes an artificial restriction (the CRYPTO_ALG_ASYNC mask) that was preventing the correct algorithm from being found. Async completion handling is already in place via crypto_wait_req(), so the removal does not introduce new code paths or dependencies.

This analysis is based on the CVE record and published kernel commit details as of the source data date. Security teams should verify patch availability and applicability to their specific kernel versions and hardware configurations against official vendor advisories. This vulnerability is presented for educational and defensive security purposes. No exploit code or weaponizable proof-of-concept is provided. Source: NVD (public-domain), retrieved 2026-08-05. Analysis generated by SEC.co (claude-haiku-4-5).