HIGH Introduced in 6.10
tegra GcmDecrypt OOB
CVE-2026-80522
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
KernelScan AI7.8HIGH
01Description
In the Linux kernel, the following vulnerability has been resolved: crypto: tegra - fix rctx->cryptlen calculation in tegra_gcm_do_one_req() Perform rctx->cryptlen calculation in tegra_gcm_do_one_req() the same way it is done in tegra_ccm_crypt_init(). The current formulae may lead to a crash if a caller does not call tegra_gcm_setauthsize() and so ctx->authsize remains zero. Then a decrypt operation with incorrect rctx->cryptlen will lead to a write beyound rctx->dst_sg buffer. As a follow-up cleanup delete struct tegra_aead_ctx->authsize field since it appears to be completely unused. Also simplify tegra_ccm_setauthsize() and tegra_gcm_setauthsize() functions respectively.
02KernelScan AI Analysis
Risk summary
A local user on a Tegra-based system can trigger an out-of-bounds write in the Tegra Security Engine GCM decrypt path by performing a GCM decrypt operation without first calling setauthsize, causing cryptlen to be miscalculated and a write beyond the destination scatterlist buffer. The impact is a kernel crash or memory corruption, leading to denial of service and potentially code execution. The vulnerability requires the Tegra crypto driver to be loaded and available.
Vulnerability analysis
In the Tegra Security Engine GCM decrypt path, the ciphertext length is computed by subtracting a stored authentication tag size from the request length. If a caller never invokes the setauthsize callback, that stored value remains zero, so the decrypt operation uses an incorrect (too large) ciphertext length and writes past the end of the destination buffer. The fix computes the length from the request's own authentication tag size rather than from a context field that may never have been initialized, and removes the now-unused context field. This is reachable by any local process that can access the Tegra AEAD crypto transform on affected Tegra SoC hardware; no special capabilities are required beyond the ability to open and use the crypto device.
Lifecycle
03Fix Versions
| Branch | Introduced | Fixed in | Patch commit |
|---|---|---|---|
| 6.12 | 6.10 | 6.12.105 | cd6991001bf0 |
| 6.18 | 6.10 | 6.18.46 | 99a18e1d979e |
| 7.1 | 6.10 | 7.1.10 | c6237834d999 |
| mainline | 6.10 | 7.2 | 360f2974fcea |
| cip/6.12 | 6.10 | 6.12.108-cip31 | cd6991001bf0 |
04CIP Kernels
State of the newest release of each Civil Infrastructure Platform SLTS tree, from CIP's own fix records.
| CIP tree | State |
|---|---|
| cip/6.12 | Fixed in 6.12.108-cip31 |