In the Linux kernel, the following vulnerability has been resolved: tls: fix use-after-free on failed backlog decryption When the decrypt request goes to the backlog and crypto_aead_decrypt returns -EBUSY, tls_do_decryption will wait until all async decryptions have completed. If one of them fails, tls_do_decryption will return -EBADMSG and tls_decrypt_sg jumps to the error path, releasing all the pages. But the pages have been passed to the async callback, and have already been released by tls_decrypt_done. The only true async case is when crypto_aead_decrypt returns -EINPROGRESS. With -EBUSY, we already waited so we can tell tls_sw_recvmsg that the data is available for immediate copy, but we need to notify tls_decrypt_sg (via the new ->async_done flag) that the memory has already been released.
History

No history.

cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published: 2024-04-04T08:20:28.554Z

Updated: 2024-11-05T09:16:03.786Z

Reserved: 2024-02-19T14:20:24.179Z

Link: CVE-2024-26800

cve-icon Vulnrichment

Updated: 2024-08-02T00:14:13.534Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2024-04-04T09:15:09.003

Modified: 2024-04-04T14:15:09.897

Link: CVE-2024-26800

cve-icon Redhat

Severity : Low

Publid Date: 2024-04-04T00:00:00Z

Links: CVE-2024-26800 - Bugzilla