{"id":"CVE-2026-80522","state":"PUBLISHED","title":"crypto: tegra - fix rctx->cryptlen calculation in tegra_gcm_do_one_req()","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ncrypto: tegra - fix rctx->cryptlen calculation in tegra_gcm_do_one_req()\n\nPerform rctx->cryptlen calculation in tegra_gcm_do_one_req() the same way\nit is done in tegra_ccm_crypt_init(). The current formulae may lead to a\ncrash if a caller does not call tegra_gcm_setauthsize() and so ctx->authsize\nremains zero. Then a decrypt operation with incorrect rctx->cryptlen will\nlead to a write beyound rctx->dst_sg buffer.\n\nAs a follow-up cleanup delete struct tegra_aead_ctx->authsize field since\nit appears to be completely unused. Also simplify tegra_ccm_setauthsize()\nand tegra_gcm_setauthsize() functions respectively.","publishedAt":"2026-08-26T14:37:03.180Z","updatedAt":"2026-10-16T19:26:24.520Z","severity":{"score":7.8,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"0880bb3b00c855fc244b7177ffdaafef4d0aa1e0","status":"affected","lessThan":"cd6991001bf0681ed0bcf21f9cc3d261d749b2bb","versionType":"git"},{"version":"0880bb3b00c855fc244b7177ffdaafef4d0aa1e0","status":"affected","lessThan":"99a18e1d979e0fad3aaf9c65ae6696897c1d9869","versionType":"git"},{"version":"0880bb3b00c855fc244b7177ffdaafef4d0aa1e0","status":"affected","lessThan":"c6237834d9994de209cb90c7a2c461247bce8e90","versionType":"git"},{"version":"0880bb3b00c855fc244b7177ffdaafef4d0aa1e0","status":"affected","lessThan":"360f2974fcea49c61f6d6f81554741a9eeee7168","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/crypto/tegra/tegra-se-aes.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.10","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.10","versionType":"semver"},{"version":"6.12.105","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.46","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.10","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/crypto/tegra/tegra-se-aes.c"]}],"references":["https://git.kernel.org/stable/c/cd6991001bf0681ed0bcf21f9cc3d261d749b2bb","https://git.kernel.org/stable/c/99a18e1d979e0fad3aaf9c65ae6696897c1d9869","https://git.kernel.org/stable/c/c6237834d9994de209cb90c7a2c461247bce8e90","https://git.kernel.org/stable/c/360f2974fcea49c61f6d6f81554741a9eeee7168"],"weaknesses":[],"ingestedAt":"2026-10-29T20:13:07.220Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/80xxx/CVE-2026-80522.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-80522","state":"PUBLISHED","datePublished":"2026-08-26T14:37:03.180Z","dateUpdated":"2026-10-16T19:26:24.520Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-08-26T14:34:25.763Z"},"containers":{"cna":{"title":"crypto: tegra - fix rctx->cryptlen calculation in tegra_gcm_do_one_req()","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\ncrypto: tegra - fix rctx->cryptlen calculation in tegra_gcm_do_one_req()\n\nPerform rctx->cryptlen calculation in tegra_gcm_do_one_req() the same way\nit is done in tegra_ccm_crypt_init(). The current formulae may lead to a\ncrash if a caller does not call tegra_gcm_setauthsize() and so ctx->authsize\nremains zero. Then a decrypt operation with incorrect rctx->cryptlen will\nlead to a write beyound rctx->dst_sg buffer.\n\nAs a follow-up cleanup delete struct tegra_aead_ctx->authsize field since\nit appears to be completely unused. Also simplify tegra_ccm_setauthsize()\nand tegra_gcm_setauthsize() functions respectively."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"0880bb3b00c855fc244b7177ffdaafef4d0aa1e0","status":"affected","lessThan":"cd6991001bf0681ed0bcf21f9cc3d261d749b2bb","versionType":"git"},{"version":"0880bb3b00c855fc244b7177ffdaafef4d0aa1e0","status":"affected","lessThan":"99a18e1d979e0fad3aaf9c65ae6696897c1d9869","versionType":"git"},{"version":"0880bb3b00c855fc244b7177ffdaafef4d0aa1e0","status":"affected","lessThan":"c6237834d9994de209cb90c7a2c461247bce8e90","versionType":"git"},{"version":"0880bb3b00c855fc244b7177ffdaafef4d0aa1e0","status":"affected","lessThan":"360f2974fcea49c61f6d6f81554741a9eeee7168","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/crypto/tegra/tegra-se-aes.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.10","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.10","versionType":"semver"},{"version":"6.12.105","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.46","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.10","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/crypto/tegra/tegra-se-aes.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/cd6991001bf0681ed0bcf21f9cc3d261d749b2bb"},{"url":"https://git.kernel.org/stable/c/99a18e1d979e0fad3aaf9c65ae6696897c1d9869"},{"url":"https://git.kernel.org/stable/c/c6237834d9994de209cb90c7a2c461247bce8e90"},{"url":"https://git.kernel.org/stable/c/360f2974fcea49c61f6d6f81554741a9eeee7168"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":7.8,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - The flaw is in the Tegra Security Engine gcm(aes) driver reached via the kernel crypto API (AF_ALG socket syscalls); major network consumers call setauthsize and are not affected, and the driver only exists on Tegra234 platforms with TEGRA_HOST1X.\nAC:L - On affected Tegra systems with tegra-se loaded, an attacker reliably triggers the bug by issuing a GCM decrypt through AF_ALG without calling ALG_SET_AEAD_AUTHSIZE, relying on the default 16-byte tag while ctx->authsize remains zero.\nPR:L - Triggering tegra GCM decrypt via AF_ALG requires only an unprivileged local user able to open AF_ALG sockets and bind to gcm(aes); no CAP_SYS_ADMIN, real root, or container-escaping capabilities are needed on standard configurations.\nUI:N - Exploitation requires no victim interaction such as mounting filesystems or opening files; the attacker directly submits crafted decrypt requests through the local crypto interface.\nS:U - Impact is kernel heap/memory corruption and potential privilege escalation within the same kernel security domain; it does not cross VM, container, or IOMMU boundaries.\nC:H - The out-of-bounds write corrupts memory adjacent to the destination scatterlist buffer; such heap corruption can expose kernel pointers or other sensitive data and is rated High per memory-corruption guidance.\nI:H - Decrypt uses an inflated cryptlen so scatterwalk_map_and_copy writes up to 16 bytes beyond the caller-allocated dst_sg buffer with no bounds checking, constituting an exploitable out-of-bounds write primitive.\nA:H - Writing past the destination scatterlist can corrupt adjacent kernel structures and cause kernel oops or panic; the fix commit explicitly describes this as a crash-causing out-of-bounds write condition."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-27T05:01:18.823Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.10","versionEndExcluding":"6.12.105"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.10","versionEndExcluding":"6.18.46"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.10","versionEndExcluding":"7.1.10"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.10","versionEndExcluding":"7.2"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-80522","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"version":"2.0.3","timestamp":"2026-10-16T19:16:31.536900Z"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-16T19:26:24.520Z"}}]}}}