HIGH
crypto tegra Algorithm Flag Crash
CVE-2026-31739
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
KernelScan AI8.8HIGH
01Description
In the Linux kernel, the following vulnerability has been resolved: crypto: tegra - Add missing CRYPTO_ALG_ASYNC The tegra crypto driver failed to set the CRYPTO_ALG_ASYNC on its asynchronous algorithms, causing the crypto API to select them for users that request only synchronous algorithms. This causes crashes (at least). Fix this by adding the flag like what the other drivers do. Also remove the unnecessary CRYPTO_ALG_TYPE_* flags, since those just get ignored and overridden by the registration function anyway.
02KernelScan AI Analysis
Risk summary
Applications using cryptographic operations on Tegra platforms can experience system crashes when the kernel incorrectly selects asynchronous crypto algorithms for synchronous requests. This creates a denial of service condition that can be triggered by any process performing crypto operations.
Vulnerability analysis
Summary: The Tegra crypto driver failed to set the CRYPTO_ALG_ASYNC flag on its asynchronous cryptographic algorithms, causing the crypto API to incorrectly select them for users requesting only synchronous algorithms, leading to system crashes.
Root Cause: When the Tegra Security Engine driver was introduced in commit 0880bb3b00c8, the algorithm definitions in tegra-se-aes.c and tegra-se-hash.c were missing the CRYPTO_ALG_ASYNC flag. The driver implements asynchronous crypto operations but did not properly declare this capability to the crypto API framework.
Attack Surface: This affects local processes using the crypto API on Tegra platforms. The vulnerability is triggered when applications request synchronous crypto operations but the kernel incorrectly selects the asynchronous Tegra driver, causing type confusion and crashes in the crypto subsystem.
Fix Mechanism: The patch adds CRYPTO_ALG_ASYNC to all asynchronous algorithm definitions across AES (CBC, ECB, CTR, XTS), AEAD (GCM, CCM), hash (SHA1, SHA224, SHA256, SHA384, SHA512, SHA3 variants), HMAC, and CMAC algorithms. It also removes unnecessary CRYPTO_ALG_TYPE_* flags that get overridden by registration functions.
03Fix Versions
| Branch | Fixed in | Patch commit |
|---|---|---|
| 6.12 | 6.12.81 | bdbf027a4504 |
| 6.18 | 6.18.22 | 3aea268b6d5c |
| 6.19 | 6.19.12 | 429d05565eb1 |
| mainline | 7.0 | 4b56770d3455 |