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

Published Jun 24, 2026
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

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

ksmbdcryptmessage() 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 : qceskcipherdone+0x24/0x174 lr : vchancomplete+0x230/0x27c ... el1h64irq+0x68/0x6c ksmbdfreeworkstruct+0x20/0x118 [ksmbd] ksmbdexitfilecache+0x694/0xa4c [ksmbd]

Use the standard cryptowaitreq() pattern with cryptoreqdone() 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 Software

7 affected components
Linux ksmbd
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

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade Linux kernel to a version that resolves this vulnerability.

    Patch ksmbd: fix use-after-free from async crypto on Qualcomm crypto engine
  2. Configuration

    Apply the kernel change for ksmbd_crypt_message()/smb2ops so AEAD requests use the standard crypto_wait_req() + crypto_req_done() pattern and properly handle -EINPROGRESS from async hardware; ensure the completion callback is set and does not dereference freed memory after vchan completion.

    ksmbd (Linux kernel, fs/smb/client/smb2ops.c) completion callback handling for AEAD async crypto requests = Set a completion callback using the standard crypto_wait_req() pattern with crypto_req_done() (do not leave it NULL) and handle -EINPROGRESS correctly

Event History

Jun 24, 2026
CVE Published
via MITRE·04:29 PM
Data Sourced
via MITRE·04:29 PM
DescriptionSeverity
Data Sourced
via NVD·05:17 PM
RemedyDescriptionSeverityWeaknessAffected Software
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2026-53046?

CVE-2026-53046 has a critical severity score of 9.8.

2

What is the risk associated with CVE-2026-53046?

CVE-2026-53046 has a risk rating of 86, indicating a high level of threat.

3

How do I fix CVE-2026-53046?

To fix CVE-2026-53046, update your Linux ksmbd to the latest patched version from the official repository.

4

What type of vulnerability is CVE-2026-53046?

CVE-2026-53046 is classified as a Use After Free vulnerability in the Linux kernel's ksmbd.

5

What component is affected by CVE-2026-53046?

CVE-2026-53046 affects the ksmbd component within the Linux kernel.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203