Skip to content
OpenAdvisories
Critical · 9.8 CVE-2023-52741 EUVD-2023-59460GHSA-wpg8-rfjm-9g3w

cifs: Fix use-after-free in rdata->read_into_pages()

Published May 21, 2024 · Updated Aug 5, 2026 · Assigned by Linux

Vendor: Linux Product: Linux Package: linux Package: linux Package: linux-allwinner-5.19 Package: linux-aws Package: linux-aws-5.0 Package: linux-aws-5.11 Package: linux-aws-5.13 Package: linux-aws-5.15 Package: linux-aws-5.19 Package: linux-aws-5.3 Package: linux-aws-5.4 Package: linux-aws-5.8 Package: linux-aws-6.2 Package: linux-aws-fips Package: linux-aws-hwe Package: linux-azure Package: linux-azure-4.15 Package: linux-azure-5.11 Package: linux-azure-5.13 Package: linux-azure-5.15 Package: linux-azure-5.19 Package: linux-azure-5.3 Package: linux-azure-5.4 Package: linux-azure-5.8 Package: linux-azure-6.2 Package: linux-azure-edge Package: linux-azure-fde Package: linux-azure-fde-5.19 Package: linux-azure-fde-6.2 Package: linux-azure-fips Package: linux-bluefield Package: linux-fips Package: linux-gcp Package: linux-gcp-4.15 Package: linux-gcp-5.11 Package: linux-gcp-5.13 Package: linux-gcp-5.15 Package: linux-gcp-5.19 Package: linux-gcp-5.3 Package: linux-gcp-5.4 Package: linux-gcp-5.8 Package: linux-gcp-6.2 Package: linux-gcp-fips Package: linux-gke Package: linux-gke-4.15 Package: linux-gke-5.15 Package: linux-gke-5.4 Package: linux-gkeop Package: linux-gkeop-5.15 Package: linux-gkeop-5.4 Package: linux-hwe Package: linux-hwe-5.11 Package: linux-hwe-5.13 Package: linux-hwe-5.15 Package: linux-hwe-5.19 Package: linux-hwe-5.4 Package: linux-hwe-5.8 Package: linux-hwe-6.2 Package: linux-hwe-edge Package: linux-ibm Package: linux-ibm-5.4 Package: linux-intel-5.13 Package: linux-intel-iot-realtime Package: linux-intel-iotg Package: linux-intel-iotg-5.15 Package: linux-iot Package: linux-kvm Package: linux-lowlatency Package: linux-lowlatency-hwe-5.15 Package: linux-lowlatency-hwe-5.19 Package: linux-lowlatency-hwe-6.2 Package: linux-lts-xenial Package: linux-nvidia Package: linux-nvidia-6.2 Package: linux-nvidia-tegra-5.15 Package: linux-oem Package: linux-oem-5.10 Package: linux-oem-5.13 Package: linux-oem-5.14 Package: linux-oem-5.17 Package: linux-oem-5.6 Package: linux-oem-6.0 Package: linux-oem-6.1 Package: linux-oracle Package: linux-oracle-5.0 Package: linux-oracle-5.11 Package: linux-oracle-5.13 Package: linux-oracle-5.15 Package: linux-oracle-5.3 Package: linux-oracle-5.4 Package: linux-oracle-5.8 Package: linux-raspi Package: linux-raspi-5.4 Package: linux-raspi-realtime Package: linux-raspi2 Package: linux-realtime Package: linux-riscv Package: linux-riscv-5.11 Package: linux-riscv-5.15 Package: linux-riscv-5.19 Package: linux-riscv-5.8 Package: linux-starfive-5.19 Package: linux-starfive-6.2 Package: linux-vmware Package: linux-xilinx-zynqmp Platform: Linux Ecosystem: Debian Ecosystem: Ubuntu

Description

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

cifs: Fix use-after-free in rdata->read_into_pages()

When the network status is unstable, use-after-free may occur when
read data from the server.

BUG: KASAN: use-after-free in readpages_fill_pages+0x14c/0x7e0

Call Trace:
<TASK>
dump_stack_lvl+0x38/0x4c
print_report+0x16f/0x4a6
kasan_report+0xb7/0x130
readpages_fill_pages+0x14c/0x7e0
cifs_readv_receive+0x46d/0xa40
cifs_demultiplex_thread+0x121c/0x1490
kthread+0x16b/0x1a0
ret_from_fork+0x2c/0x50
</TASK>

Allocated by task 2535:
kasan_save_stack+0x22/0x50
kasan_set_track+0x25/0x30
__kasan_kmalloc+0x82/0x90
cifs_readdata_direct_alloc+0x2c/0x110
cifs_readdata_alloc+0x2d/0x60
cifs_readahead+0x393/0xfe0
read_pages+0x12f/0x470
page_cache_ra_unbounded+0x1b1/0x240
filemap_get_pages+0x1c8/0x9a0
filemap_read+0x1c0/0x540
cifs_strict_readv+0x21b/0x240
vfs_read+0x395/0x4b0
ksys_read+0xb8/0x150
do_syscall_64+0x3f/0x90
entry_SYSCALL_64_after_hwframe+0x72/0xdc

Freed by task 79:
kasan_save_stack+0x22/0x50
kasan_set_track+0x25/0x30
kasan_save_free_info+0x2e/0x50
__kasan_slab_free+0x10e/0x1a0
__kmem_cache_free+0x7a/0x1a0
cifs_readdata_release+0x49/0x60
process_one_work+0x46c/0x760
worker_thread+0x2a4/0x6f0
kthread+0x16b/0x1a0
ret_from_fork+0x2c/0x50

Last potentially related work creation:
kasan_save_stack+0x22/0x50
__kasan_record_aux_stack+0x95/0xb0
insert_work+0x2b/0x130
__queue_work+0x1fe/0x660
queue_work_on+0x4b/0x60
smb2_readv_callback+0x396/0x800
cifs_abort_connection+0x474/0x6a0
cifs_reconnect+0x5cb/0xa50
cifs_readv_from_socket.cold+0x22/0x6c
cifs_read_page_from_socket+0xc1/0x100
readpages_fill_pages.cold+0x2f/0x46
cifs_readv_receive+0x46d/0xa40
cifs_demultiplex_thread+0x121c/0x1490
kthread+0x16b/0x1a0
ret_from_fork+0x2c/0x50

The following function calls will cause UAF of the rdata pointer.

readpages_fill_pages
cifs_read_page_from_socket
cifs_readv_from_socket
cifs_reconnect
__cifs_reconnect
cifs_abort_connection
mid->callback() --> smb2_readv_callback
queue_work(&rdata->work) # if the worker completes first,
# the rdata is freed
cifs_readv_complete
kref_put
cifs_readdata_release
kfree(rdata)
return rdata->... # UAF in readpages_fill_pages()

Similarly, this problem also occurs in the uncache_fill_pages().

Fix this by adjusts the order of condition judgment in the return
statement.

Affected products

VendorProductAffectedFixed
Linux Linux 3.17 5.10.168

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 linux 6.1.12-1 —
Debian 13 linux 6.1.12-1 —
Debian 12 linux 6.1.12-1 —
ReleasePackageFixed inAdvisory
Ubuntu Nvidia-BlueField 22.04 LTS linux-bluefield 5.15.0-1017.19 —
Ubuntu 24.04 LTS linux-raspi-realtime No fix yet —
Ubuntu 22.04 LTS linux +1 5.15.0-72.79 —
Ubuntu 22.04 LTS linux-aws 5.15.0-1036.40 —
Ubuntu 22.04 LTS linux-azure 5.15.0-1038.45 —
Ubuntu 22.04 LTS linux-azure-fde 5.15.0-1038.45.1 —
Ubuntu 22.04 LTS linux-gcp 5.15.0-1034.42 —
Ubuntu 22.04 LTS linux-gke +1 5.15.0-1033.38 —
Ubuntu 22.04 LTS linux-gkeop 5.15.0-1020.25 —
Ubuntu 22.04 LTS linux-ibm 5.15.0-1030.33 —
Ubuntu 22.04 LTS linux-intel-iotg 5.15.0-1030.35 —
Ubuntu 22.04 LTS linux-nvidia 5.15.0-1025.25 —
Ubuntu 22.04 LTS linux-oracle 5.15.0-1035.41 —
Ubuntu 22.04 LTS linux-raspi 5.15.0-1029.31 —
Ubuntu 22.04 LTS linux-riscv +21 No fix yet —
Ubuntu 20.04 LTS linux 5.4.0-216.236 USN-7516-1
Ubuntu 20.04 LTS linux-aws 5.4.0-1146.156 USN-7516-9
Ubuntu 20.04 LTS linux-aws-5.15 5.15.0-1036.40~20.04.1 —
Ubuntu 20.04 LTS linux-azure 5.4.0-1151.158 USN-7516-3
Ubuntu 20.04 LTS linux-azure-5.15 5.15.0-1038.45~20.04.1 —
Ubuntu 20.04 LTS linux-bluefield 5.4.0-1105.112 USN-7517-3
Ubuntu 20.04 LTS linux-gcp 5.4.0-1149.158 USN-7516-1
Ubuntu 20.04 LTS linux-gcp-5.15 5.15.0-1034.42~20.04.1 —
Ubuntu 20.04 LTS linux-gke +27 No fix yet —
Ubuntu 20.04 LTS linux-gkeop-5.15 5.15.0-1020.25~20.04.1 —
Ubuntu 20.04 LTS linux-hwe-5.15 +1 5.15.0-72.79~20.04.1 —
Ubuntu 20.04 LTS linux-ibm 5.4.0-1092.97 USN-7516-6
Ubuntu 20.04 LTS linux-intel-iotg-5.15 5.15.0-1030.35~20.04.1 —
Ubuntu 20.04 LTS linux-kvm 5.4.0-1133.142 USN-7516-3
Ubuntu 20.04 LTS linux-nvidia-tegra-5.15 5.15.0-1014.14~20.04.1 —
Ubuntu 20.04 LTS linux-oracle 5.4.0-1144.154 USN-7516-1
Ubuntu 20.04 LTS linux-oracle-5.15 5.15.0-1035.41~20.04.1 —
Ubuntu 20.04 LTS linux-raspi 5.4.0-1129.142 USN-7539-1
Ubuntu 20.04 LTS linux-riscv-5.15 5.15.0-1033.37~20.04.1 —
Ubuntu 20.04 LTS linux-xilinx-zynqmp 5.4.0-1064.68 USN-7517-1
Ubuntu 18.04 LTS linux-gcp +14 No fix yet —
Show 12 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu 16.04 LTS linux-hwe-edge No fix yet —
Ubuntu Pro Realtime 22.04 LTS linux-intel-iot-realtime 5.15.0-1028.33 —
Ubuntu Pro Realtime 22.04 LTS linux-realtime 5.15.0-1038.41 —
Ubuntu Pro FIPS 20.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS 18.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS 16.04 LTS linux-fips No fix yet —
Ubuntu Pro FIPS-updates 20.04 LTS linux-aws-fips 5.4.0-1146.156+fips1 USN-7516-8
Ubuntu Pro FIPS-updates 20.04 LTS linux-azure-fips 5.4.0-1151.158+fips1 USN-7518-1
Ubuntu Pro FIPS-updates 20.04 LTS linux-fips 5.4.0-1120.130 USN-7516-8
Ubuntu Pro FIPS-updates 20.04 LTS linux-gcp-fips 5.4.0-1149.158+fips1 USN-7516-2
Ubuntu Pro FIPS-updates 18.04 LTS linux-aws-fips 4.15.0-2118.124 USN-7496-2
Ubuntu Pro FIPS-updates 18.04 LTS linux-azure-fips 4.15.0-2097.103 USN-7496-5
Ubuntu Pro FIPS-updates 18.04 LTS linux-fips 4.15.0-1135.146 USN-7496-2
Ubuntu Pro FIPS-updates 18.04 LTS linux-gcp-fips 4.15.0-2081.87 USN-7496-2
Ubuntu Pro FIPS-updates 16.04 LTS linux-fips 4.4.0-1113.120 USN-7506-3
Ubuntu Pro 20.04 LTS linux-iot 5.4.0-1051.54 USN-7640-1
Ubuntu Pro 18.04 LTS linux 4.15.0-237.249 USN-7496-1
Ubuntu Pro 18.04 LTS linux-aws 4.15.0-1180.193 USN-7496-1
Ubuntu Pro 18.04 LTS linux-aws-5.4 5.4.0-1146.156~18.04.1 USN-7516-7
Ubuntu Pro 18.04 LTS linux-azure-4.15 4.15.0-1188.203 USN-7496-3
Ubuntu Pro 18.04 LTS linux-azure-5.4 5.4.0-1151.158~18.04.1 USN-7516-1
Ubuntu Pro 18.04 LTS linux-gcp-4.15 4.15.0-1173.190 USN-7496-1
Ubuntu Pro 18.04 LTS linux-gcp-5.4 5.4.0-1149.158~18.04.1 USN-7516-1
Ubuntu Pro 18.04 LTS linux-hwe-5.4 5.4.0-216.236~18.04.1 USN-7516-5
Ubuntu Pro 18.04 LTS linux-ibm-5.4 5.4.0-1092.97~18.04.1 USN-7517-2
Ubuntu Pro 18.04 LTS linux-kvm 4.15.0-1163.168 USN-7496-1
Ubuntu Pro 18.04 LTS linux-oracle 4.15.0-1142.153 USN-7496-1
Ubuntu Pro 18.04 LTS linux-oracle-5.4 5.4.0-1144.154~18.04.1 USN-7516-4
Ubuntu Pro 18.04 LTS linux-raspi-5.4 5.4.0-1129.142~18.04.1 USN-7540-1
Ubuntu Pro 16.04 LTS linux 4.4.0-268.302 USN-7506-1
Ubuntu Pro 16.04 LTS linux-aws 4.4.0-1181.196 USN-7506-1
Ubuntu Pro 16.04 LTS linux-aws-hwe 4.15.0-1180.193~16.04.1 USN-7496-1
Ubuntu Pro 16.04 LTS linux-azure 4.15.0-1188.203~16.04.1 USN-7496-3
Ubuntu Pro 16.04 LTS linux-gcp 4.15.0-1173.190~16.04.1 USN-7496-1
Ubuntu Pro 16.04 LTS linux-hwe 4.15.0-237.249~16.04.1 USN-7496-1
Ubuntu Pro 16.04 LTS linux-kvm 4.4.0-1144.155 USN-7506-1
Ubuntu Pro 16.04 LTS linux-oracle 4.15.0-1142.153~16.04.1 USN-7496-1
Ubuntu Pro 14.04 LTS linux No fix yet —
Ubuntu Pro 14.04 LTS linux-aws 4.4.0-1143.149 USN-7506-2
Ubuntu Pro 14.04 LTS linux-azure 4.15.0-1188.203~14.04.1 USN-7496-4
Ubuntu Pro 14.04 LTS linux-lts-xenial 4.4.0-268.302~14.04.1 USN-7506-4
ReleasePackageFixed inAdvisory
SLES 15 SP5 kernel-64kb +6 5.14.21-150500.55.68.1 SUSE-SU-2024:2190-1
SLES 15 SP5 kernel-azure +2 5.14.21-150500.33.57.1 SUSE-SU-2024:2019-1
SLES 15 SP5 kernel-default-base 5.14.21-150500.55.68.1.150500.6.31.1 SUSE-SU-2024:2190-1
SLES 15 SP4 kernel-64kb +4 5.14.21-150400.24.122.2 SUSE-SU-2024:2189-1
SLES 15 SP4 kernel-default-base 5.14.21-150400.24.122.2.150400.24.58.2 SUSE-SU-2024:2189-1
SLES 15 SP4 kernel-syms +1 5.14.21-150400.24.122.1 SUSE-SU-2024:2189-1
SLES 12 SP5 kernel-azure +2 4.12.14-16.188.1 SUSE-SU-2024:1979-1
SLES 12 SP5 kernel-docs +4 4.12.14-122.219.1 SUSE-SU-2024:2184-1
Show 13 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES for SAP 15 SP4 kernel-default-base 5.14.21-150400.24.122.2.150400.24.58.2 SUSE-SU-2024:2189-1
SLES for SAP 15 SP4 kernel-docs +2 5.14.21-150400.24.122.2 SUSE-SU-2024:2189-1
SLES for SAP 15 SP4 kernel-syms +1 5.14.21-150400.24.122.1 SUSE-SU-2024:2189-1
SLES for SAP 12 SP5 kernel-azure +2 4.12.14-16.188.1 SUSE-SU-2024:1979-1
SLES for SAP 12 SP5 kernel-syms +2 4.12.14-122.219.1 SUSE-SU-2024:2184-1
SLE Real Time 12 SP5 kernel-rt +3 4.12.14-10.188.1 SUSE-SU-2024:1983-1
SLE Micro 5.5 kernel-default 5.14.21-150500.55.68.1 SUSE-SU-2024:2190-1
SLE Micro 5.5 kernel-default-base 5.14.21-150500.55.68.1.150500.6.31.1 SUSE-SU-2024:2190-1
SLE Micro 5.5 kernel-rt +1 5.14.21-150500.13.58.1 SUSE-SU-2024:2008-1
SLE Micro 5.4 kernel-default 5.14.21-150400.24.122.2 SUSE-SU-2024:2189-1
SLE Micro 5.4 kernel-default-base 5.14.21-150400.24.122.2.150400.24.58.2 SUSE-SU-2024:2189-1
SLE Micro 5.4 kernel-rt +1 5.14.21-150400.15.82.1 SUSE-SU-2024:2011-1
SLE Micro 5.3 kernel-default 5.14.21-150400.24.122.2 SUSE-SU-2024:2189-1
SLE Micro 5.3 kernel-default-base 5.14.21-150400.24.122.2.150400.24.58.2 SUSE-SU-2024:2189-1
SLE Micro 5.3 kernel-rt +1 5.14.21-150400.15.82.1 SUSE-SU-2024:2011-1
SLE Live Patching 15 SP5 kernel-default 5.14.21-150500.55.68.1 SUSE-SU-2024:2190-1
SLE Live Patching 15 SP5 kernel-livepatch-SLE15-SP5_Update_15 +1 1-150500.11.3.1 SUSE-SU-2024:2190-1, SUSE-SU-2024:2008-1
SLE Live Patching 15 SP4 kernel-default 5.14.21-150400.24.122.2 SUSE-SU-2024:2189-1
SLE Live Patching 15 SP4 kernel-livepatch-SLE15-SP4_Update_27 1-150400.9.3.2 SUSE-SU-2024:2189-1
SLE Live Patching 12 SP5 kernel-default 4.12.14-122.219.1 SUSE-SU-2024:2184-1
SLE Live Patching 12 SP5 kgraft-patch-SLE12-SP5_Update_57 1-8.3.1 SUSE-SU-2024:2184-1
SLE HPC 15 SP4 kernel-64kb +3 5.14.21-150400.24.122.2 SUSE-SU-2024:2189-1
SLE HPC 15 SP4 kernel-default-base 5.14.21-150400.24.122.2.150400.24.58.2 SUSE-SU-2024:2189-1
SLE HPC 15 SP4 kernel-syms +1 5.14.21-150400.24.122.1 SUSE-SU-2024:2189-1
SUSE Real Time Module 15 SP5 kernel-rt +3 5.14.21-150500.13.58.1 SUSE-SU-2024:2008-1
SUSE Manager Server 4.3 kernel-default +1 5.14.21-150400.24.122.2 SUSE-SU-2024:2189-1
SUSE Manager Server 4.3 kernel-default-base 5.14.21-150400.24.122.2.150400.24.58.2 SUSE-SU-2024:2189-1
SUSE Manager Server 4.3 kernel-syms +1 5.14.21-150400.24.122.1 SUSE-SU-2024:2189-1
SUSE Manager Proxy 4.3 kernel-default 5.14.21-150400.24.122.2 SUSE-SU-2024:2189-1
SUSE Manager Proxy 4.3 kernel-default-base 5.14.21-150400.24.122.2.150400.24.58.2 SUSE-SU-2024:2189-1
SUSE Manager Proxy 4.3 kernel-syms +1 5.14.21-150400.24.122.1 SUSE-SU-2024:2189-1
ReleasePackageFixed inAdvisory
openSUSE Leap 15.5 dtb-aarch64 +10 5.14.21-150500.55.68.1 SUSE-SU-2024:2190-1
openSUSE Leap 15.5 kernel-azure +2 5.14.21-150500.33.57.1 SUSE-SU-2024:2019-1
openSUSE Leap 15.5 kernel-default-base 5.14.21-150500.55.68.1.150500.6.31.1 SUSE-SU-2024:2190-1
openSUSE Leap 15.5 kernel-rt +3 5.14.21-150500.13.58.1 SUSE-SU-2024:2008-1
Show 2 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
openSUSE Leap Micro 5.4 kernel-default 5.14.21-150400.24.122.2 SUSE-SU-2024:2189-1
openSUSE Leap Micro 5.4 kernel-default-base 5.14.21-150400.24.122.2.150400.24.58.2 SUSE-SU-2024:2189-1
openSUSE Leap Micro 5.4 kernel-rt 5.14.21-150400.15.82.1 SUSE-SU-2024:2011-1
openSUSE Leap Micro 5.3 kernel-default 5.14.21-150400.24.122.2 SUSE-SU-2024:2189-1
openSUSE Leap Micro 5.3 kernel-default-base 5.14.21-150400.24.122.2.150400.24.58.2 SUSE-SU-2024:2189-1
openSUSE Leap Micro 5.3 kernel-rt 5.14.21-150400.15.82.1 SUSE-SU-2024:2011-1

Amazon Linux

ReleasePackageFixed inAdvisory
Amazon Linux 2023 kernel-livepatch-6.1.12-17.42 1.0-0.amzn2023 ALAS2023-2023-132
Amazon Linux 2023 perf +12 6.1.12-17.42.amzn2023 ALAS2023-2023-132

Advisories 36

References