CVE-2024-50047·Kernel vulnerability
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 ...,seal,esize=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] <TASK> [ 194.200327] dump_stack_lvl+0x4e/0x70 [ 194.200558] ? gf128mul_4k_lle+0xc1/0x110 [ 194.200809] print_report+0x174/0x505 [ 194.201040] ? __pfx__raw_spin_lock_irqsave+0x10/0x10 [ 194.201352] ? srso_return_thunk+0x5/0x5f [ 194.201604] ? __virt_addr_valid+0xdf/0x1c0 [ 194.201868] ? gf128mul_4k_lle+0xc1/0x110 [ 194.202128] kasan_report+0xc8/0x150 [ 194.202361] ? gf128mul_4k_lle+0xc1/0x110 [ 194.202616] gf128mul_4k_lle+0xc1/0x110 [ 194.202863] ghash_update+0x184/0x210 [ 194.203103] shash_ahash_update+0x184/0x2a0 [ 194.203377] ? __pfx_shash_ahash_update+0x10/0x10 [ 194.203651] ? srso_return_thunk+0x5/0x5f [ 194.203877] ? crypto_gcm_init_common+0x1ba/0x340 [ 194.204142] gcm_hash_assoc_remain_continue+0x10a/0x140 [ 194.204434] crypt_message+0xec1/0x10a0 [cifs] [ 194.206489] ? __pfx_crypt_message+0x10/0x10 [cifs] [ 194.208507] ? srso_return_thunk+0x5/0x5f [ 194.209205] ? srso_return_thunk+0x5/0x5f [ 194.209925] ? srso_return_thunk+0x5/0x5f [ 194.210443] ? srso_return_thunk+0x5/0x5f [ 194.211037] decrypt_raw_data+0x15f/0x250 [cifs] [ 194.212906] ? __pfx_decrypt_raw_data+0x10/0x10 [cifs] [ 194.214670] ? srso_return_thunk+0x5/0x5f [ 194.215193] smb2_decrypt_offload+0x12a/0x6c0 [cifs] 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.
- Severity
- high
- Software
- Kernel
- Fixed in
- 6.11.4
- Published
How likely is exploitation
FIRST's Exploit Prediction Scoring System puts the probability of this CVE being exploited in the next 30 days at <0.1% — higher than 5% of all published CVEs. EPSS is an independent forecast of exploitation, not a severity rating: it says nothing about how much damage a successful attack does, which is what a CVSS score measures.
Read the two together. CVE-2024-50047 scores 7.8 on CVSS, so a successful attack would be serious — but at <0.1%, almost nobody is currently attempting it. That is a different situation from a flaw under mass exploitation, and it is usually the difference between patching on your next maintenance window and patching tonight.
Affected versions
From: 6.7
Until: 6.11.4
Fixed in: 6.11.4
How to fix this CVE
Update your Linux kernel to version 6.11.4 or later to resolve a use-after-free vulnerability in SMB3 async decryption that can cause kernel crashes during large file reads over encrypted CIFS mounts. Systems using SMB3 with encryption (seal option) are at risk and should prioritize this update.
sudo dnf update kernel kernel-devel kernel-headersDefensia detects this vulnerability
How to check if you are affected
- Check current kernel version with: uname -r (vulnerable if version is between 6.7 and 6.11.3)
- Verify if CIFS with encryption is mounted: mount | grep cifs and check for 'seal' option in mount output
- Search kernel logs for KASAN slab-use-after-free errors: sudo dmesg | grep -i 'use-after-free' or check /var/log/kern.log for 'gf128mul_4k_lle'
- After patching, reboot and confirm new kernel version with: uname -r (should show 6.11.4 or later)
FAQ
What is CVE-2024-50047?
CVE-2024-50047 is a use-after-free vulnerability in the Linux kernel's SMB3 client decryption handler that occurs when performing asynchronous decryption of large files over encrypted CIFS mounts, causing kernel crashes via slab corruption in the crypto API.
Is CVE-2024-50047 being actively exploited?
No, this vulnerability is not listed in CISA's known exploited vulnerabilities catalog and no public exploits are currently available.
What versions of Kernel are affected by CVE-2024-50047?
Linux kernel versions 6.7 through 6.11.3 are vulnerable; version 6.11.4 and later contain the fix.
How do I check if my server is vulnerable to CVE-2024-50047?
Run 'uname -r' to check your kernel version—if it shows 6.7 through 6.11.3 and you have CIFS mounts with the 'seal' option (check via 'mount | grep cifs'), your system is vulnerable.
Does Defensia detect CVE-2024-50047?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If the Linux kernel is installed on a monitored server, CVE-2024-50047 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/0809fb86ad13b29e1d6d491364fc7ea4fb545995
- https://git.kernel.org/stable/c/538c26d9bf70c90edc460d18c81008a4e555925a
- https://git.kernel.org/stable/c/8f14a476abba13144df5434871a7225fd29af633
- https://git.kernel.org/stable/c/b0abcd65ec545701b8793e12bc27dc98042b151a
- https://git.kernel.org/stable/c/bce966530fd5542bbb422cb45ecb775f7a1a6bc3
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2024-50047. Free for 1 server.
Get started free