CVE-2026-53046

ksmbd: fix use-after-free from async crypto on Qualcomm crypto engine

Critical · published June 24, 2026

CVSS v3.1
9.8
EPSS
1%
Percentile
53.3
In the wild
Unconfirmed
What it is

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).

The record
Technical detail
CVSS v3.1
9.8 · CRITICAL
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00717 · 53.3th percentile
Published
2026-06-24T16:29Z
EPSS history
Timeline
  • 24 JUN 16:29Z
    ksmbd: fix use-after-free from async crypto on Qualcomm crypto engine
    cvelistv5