CVEvulnerability
CVE-2026-53046
9.8 CRITICAL
Official page ↗
- Status
- Analyzed
- Published
- 2026-06-24
- Last modified
- 2026-07-21
- Assigner
- 416baaa9-dc9f-4396-8d5f-8c081fb06d67
- CVSS 3.1 (416baaa9-dc9f-4396-8d5f-8c081fb06d67)
- 9.8 CRITICAL — CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Weaknesses
- CWE-416
Description
In the Linux kernel, the following vulnerability has been resolved:
ksmbd: fix use-after-free from async crypto on Qualcomm crypto engine
ksmbd_crypt_message() sets a NULL completion callback on AEAD requests
and does not handle the -EINPROGRESS return code from async hardware
crypto engines like the Qualcomm Crypto Engine (QCE). When QCE returns
-EINPROGRESS, ksmbd treats it as an error and immediately frees the
request while the hardware DMA operation is still in flight. The DMA
completion callback then dereferences freed memory, causing a NULL
pointer crash:
pc : qce_skcipher_done+0x24/0x174
lr : vchan_complete+0x230/0x27c
...
el1h_64_irq+0x68/0x6c
ksmbd_free_work_struct+0x20/0x118 [ksmbd]
ksmbd_exit_file_cache+0x694/0xa4c [ksmbd]
Use the standard crypto_wait_req() pattern with crypto_req_done() as
the completion callback, matching the approach used by the SMB client
in fs/smb/client/smb2ops.c. This properly handles both synchronous
engines (immediate return) and async engines (-EINPROGRESS followed
by callback notification).
Affected configurations
• linux linux kernel (>= 5.15 < 5.15.209)
• linux linux kernel (>= 5.16 < 6.1.175)
• linux linux kernel (>= 6.2 < 6.6.141)
• linux linux kernel (>= 6.7 < 6.12.91)
• linux linux kernel (>= 6.13 < 6.18.33)
• linux linux kernel (>= 6.19 < 7.0.10)
Related
Weakness · CWE (1)
- CWE-416 Use After Free weakness
References
- https://git.kernel.org/stable/c/3e298897f41c61450c2e7a4f457e8b2485eb35b3 Patch
- https://git.kernel.org/stable/c/57b47231055b431ed0a1a55f33cac32981564405 Patch
- https://git.kernel.org/stable/c/7164b3953cefd540e7ebca828c793bc6869cfbc4 Patch
- https://git.kernel.org/stable/c/8ef183216feaa24b66b940510d8b68f680eb56e9 Patch
- https://git.kernel.org/stable/c/8fcefe840fa8c14ce667768e5b043286ac3bbcbe Patch
- https://git.kernel.org/stable/c/b46aa129fa2807bfe1545fe74d9295d53c51520b Patch
- https://git.kernel.org/stable/c/cc2da381875d4a67026e4c8feb3dba51a2a2d1bc Patch