CVE-2024-50047 Information
Description
In the Linux kernel the following vulnerability has been resolved:
smb: client: fix UAF in async decryption
Doing an async decryption (large read) crashes with a slab-use-after-free way down in the crypto API.
Reproducer:
mount.cifs -o …sealesize=1 //srv/share /mnt
dd if=/mnt/largefile of=/dev/null
…
[ 194.196391] ==================================================================
[ 194.196844] BUG: KASAN: slab-use-after-free in gf128mul_4k_lle+0xc1/0x110
[ 194.197269] Read of size 8 at addr ffff888112bd0448 by task kworker/u77:2/899
[ 194.197707]
[ 194.197818] CPU: 12 UID: 0 PID: 899 Comm: kworker/u77:2 Not tainted 6.11.0-lku-00028-gfca3ca14a17a-dirty 43
[ 194.198400] Hardware name: QEMU Standard PC (Q35 + ICH9 2009) BIOS rel-1.16.2-3-gd478f380-prebuilt.qemu.org 04/01/2014
[ 194.199046] Workqueue: smb3decryptd smb2_decrypt_offload [cifs]
[ 194.200032] Call Trace:
[ 194.200191]
This is because TFM is being used in parallel.
Fix this by allocating a new AEAD TFM for async decryption but keep the existing one for synchronous READ cases (similar to what is done in smb3_calc_signature()).
Also remove the calls to aead_request_set_callback() and crypto_wait_req() since it’s always going to be a synchronous operation.
CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Reference
https://git.kernel.org/stable/c/0809fb86ad13b29e1d6d491364fc7ea4fb545995 https://git.kernel.org/stable/c/538c26d9bf70c90edc460d18c81008a4e555925a https://git.kernel.org/stable/c/b0abcd65ec545701b8793e12bc27dc98042b151a
Attack Complexity
LOW
Privileges Required
LOW
User Interaction Required
LOW
Scope
NONE
Confidentiality Impact
UNCHANGED
Integrity Impact
HIGH
Availability Impact
HIGH
Base Score
HIGH
Base Severity
7.8
Share on: