In the Linux kernel, the following vulnerability has been resolved:
atm: lec: fix use-after-free in sock_def_readable()
A race condition exists between lec_atm_close() setting priv->lecd to NULL and concurrent access to priv->lecd in send_to_lecd(), lec_handle_bridge(), and lec_atm_send(). When the socket is freed via RCU while another thread is still using it, a use-after-free occurs in sock_def_readable() when accessing the socket's wait queue.
The root cause is that lec_atm_close() clears priv->lecd without any synchronization, while callers dereference priv->lecd without any protection against concurrent teardown.
Fix this by converting priv->lecd to an RCU-protected pointer: - Mark priv->lecd as __rcu in lec.h - Use rcu_assign_pointer() in lec_atm_close() and lecd_attach() for safe pointer assignment - Use rcu_access_pointer() for NULL checks that do not dereference the pointer in lec_start_xmit(), lec_push(), send_to_lecd() and lecd_attach() - Use rcu_read_lock/rcu_dereference/rcu_read_unlock in send_to_lecd(), lec_handle_bridge() and lec_atm_send() to safely access lecd - Use rcu_assign_pointer() followed by synchronize_rcu() in lec_atm_close() to ensure all readers have completed before proceeding. This is safe since lec_atm_close() is called from vcc_release() which holds lock_sock(), a sleeping lock. - Remove the manual sk_receive_queue drain from lec_atm_close() since vcc_destroy_socket() already drains it after lec_atm_close() returns.
v2: Switch from spinlock + sock_hold/put approach to RCU to properly fix the race. The v1 spinlock approach had two issues pointed out by Eric Dumazet: 1. priv->lecd was still accessed directly after releasing the lock instead of using a local copy. 2. The spinlock did not prevent packets being queued after lec_atm_close() drains sk_receive_queue since timer and workqueue paths bypass netif_stop_queue().
Note: Syzbot patch testing was attempted but the test VM terminated unexpectedly with "Connection to localhost closed by remote host", likely due to a QEMU AHCI emulation issue unrelated to this fix. Compile testing with "make W=1 net/atm/lec.o" passes cleanly.
CVSS Details
- CVSS 3.1 Base Score: 7
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux-6.1Upgrade linux | May 3, 2026 | May 3, 2026 |
| Redhat_linux | — | No solution exists | Jul 17, 2026 | May 1, 2026 |
| Ubuntu | — | Upgrade linux-image-5.15.0-186-generic-64kUpgrade linux-image-6.8.0-1061-aws-64kUpgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-aws-5.15Upgrade linux-image-virtual-hwe-20.04Upgrade linux-image-nvidia-tegra-igxUpgrade linux-image-raspi-5.15Upgrade linux-image-gcp-6.8Upgrade linux-image-gcp-64k-6.8Upgrade linux-image-aws-fips-6.8Upgrade linux-image-gcp-lts-24.04Upgrade linux-image-xilinx-6.8Upgrade linux-image-5.15.0-1053-nvidia-tegra-igx-rtUpgrade linux-image-5.15.0-1064-nvidia-tegraUpgrade linux-image-gke-64k-6.8Upgrade linux-image-5.15.0-1117-azureUpgrade linux-image-aws-lts-24.04Upgrade linux-image-oracle-64kUpgrade linux-image-lowlatency-64k-5.15Upgrade linux-image-oem-20.04dUpgrade linux-image-virtual-5.15Upgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-kvmUpgrade linux-image-nvidia-64kUpgrade linux-image-azure-fips-6.8Upgrade linux-image-azure-5.15Upgrade linux-image-nvidia-tegra-rt-6.8Upgrade linux-image-intel-iot-realtime-5.15Upgrade linux-image-gcp-64kUpgrade linux-image-6.8.0-1061-ibmUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-realtimeUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-5.15.0-184-lowlatencyUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-5.15.0-184-lowlatency-64kUpgrade linux-image-6.8.0-1061-aws-fipsUpgrade linux-image-azure-cvmUpgrade linux-image-6.8.0-1061-awsUpgrade linux-image-azure-fdeUpgrade linux-image-xilinx-zynqmp-5.15Upgrade linux-image-5.15.0-1106-raspiUpgrade linux-image-6.8.0-1033-xilinxUpgrade linux-image-6.8.0-136-generic-64kUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-oem-22.04dUpgrade linux-image-gke-64kUpgrade linux-image-5.15.0-186-fipsUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-realtime-6.8.1Upgrade linux-image-generic-64k-6.8Upgrade linux-image-fips-6.8Upgrade linux-image-6.8.0-1030-nvidia-tegra-rtUpgrade linux-image-gcpUpgrade linux-image-6.8.0-136-lowlatencyUpgrade linux-image-5.15.0-1109-oracleUpgrade linux-image-generic-6.8Upgrade linux-image-6.8.0-2050-raspi-realtimeUpgrade linux-image-6.8.1-1056-realtimeUpgrade linux-image-5.15.0-186-genericUpgrade linux-image-raspi-6.8Upgrade linux-image-6.8.0-1059-nvidia-lowlatency-64kUpgrade linux-image-realtime-5.15Upgrade linux-image-awsUpgrade linux-image-aws-64k-5.15Upgrade linux-image-5.15.0-1104-intel-iot-realtimeUpgrade linux-image-aws-64k-6.8Upgrade linux-image-virtualUpgrade linux-image-raspi-nolpaeUpgrade linux-image-5.15.0-1112-awsUpgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-5.15.0-1064-nvidia-tegra-rtUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-6.8.0-1064-gcpUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-6.8.0-1059-nvidiaUpgrade linux-image-6.8.0-136-genericUpgrade linux-image-5.15.0-1053-nvidia-tegra-igxUpgrade linux-image-azure-fde-6.8Upgrade linux-image-5.15.0-1107-intel-iotgUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-xilinxUpgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-6.8.0-1063-azureUpgrade linux-image-6.8.0-1063-azure-fipsUpgrade linux-image-5.15.0-1095-gkeopUpgrade linux-image-oem-22.04bUpgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-6.8.0-1064-gcp-64kUpgrade linux-image-oracleUpgrade linux-image-fips-5.15Upgrade linux-image-gcp-5.15Upgrade linux-image-raspi-realtimeUpgrade linux-image-gkeop-5.15Upgrade linux-image-oracle-6.8Upgrade linux-image-azure-fipsUpgrade linux-image-ibm-6.8Upgrade linux-image-6.8.0-1030-nvidia-tegraUpgrade linux-image-laptop-23.10Upgrade linux-image-oracle-lts-22.04Upgrade linux-image-nvidia-tegra-6.8Upgrade linux-image-lowlatency-64kUpgrade linux-image-lowlatency-6.8Upgrade linux-image-virtual-6.8Upgrade linux-image-kvm-5.15Upgrade linux-image-ibm-5.15Upgrade linux-image-gkeopUpgrade linux-image-azure-fde-lts-22.04Upgrade linux-image-6.8.0-1058-oracleUpgrade linux-image-6.8.0-1046-gkeopUpgrade linux-image-5.15.0-1112-gcpUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-nvidia-6.8Upgrade linux-image-oem-22.04cUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-gke-5.15Upgrade linux-image-gkeUpgrade linux-image-aws-64k-lts-22.04Upgrade linux-image-5.15.0-1117-azure-fipsUpgrade linux-image-realtime-hwe-22.04Upgrade linux-image-nvidia-tegra-5.15Upgrade linux-image-intel-iotg-5.15Upgrade linux-image-fipsUpgrade linux-image-raspiUpgrade linux-image-nvidia-tegra-igx-rt-5.15Upgrade linux-image-azure-6.8Upgrade linux-image-nvidiaUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-lowlatencyUpgrade linux-image-ibm-classicUpgrade linux-image-aws-lts-22.04Upgrade linux-image-6.8.0-1059-nvidia-64kUpgrade linux-image-5.15.0-1112-aws-64kUpgrade linux-image-5.15.0-1117-azure-fdeUpgrade linux-image-5.15.0-1107-nvidiaUpgrade linux-image-aws-fipsUpgrade linux-image-azureUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-5.15.0-1075-xilinx-zynqmpUpgrade linux-image-5.15.0-186-generic-lpaeUpgrade linux-image-oem-20.04bUpgrade linux-image-intel-iotgUpgrade linux-image-intelUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-generic-64kUpgrade linux-image-6.8.0-1058-oracle-64kUpgrade linux-image-5.15.0-1104-kvmUpgrade linux-image-oem-20.04cUpgrade linux-image-azure-fde-5.15Upgrade linux-image-lowlatency-5.15Upgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-genericUpgrade linux-image-oem-22.04aUpgrade linux-image-generic-64k-5.15Upgrade linux-image-6.8.0-1062-azure-fdeUpgrade linux-image-oracle-64k-6.8Upgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-nvidia-tegra-igx-5.15Upgrade linux-image-6.8.0-136-fipsUpgrade linux-image-6.8.0-1061-raspiUpgrade linux-image-5.15.0-1107-nvidia-lowlatencyUpgrade linux-image-gke-6.8Upgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-azure-lts-24.04Upgrade linux-image-6.8.0-1059-gkeUpgrade linux-image-raspi-realtime-6.8Upgrade linux-image-oem-20.04Upgrade linux-image-ibmUpgrade linux-image-gkeop-6.8Upgrade linux-image-6.8.0-1059-nvidia-lowlatencyUpgrade linux-image-6.8.0-1059-gke-64kUpgrade linux-image-5.15.0-1112-gcp-fipsUpgrade linux-image-nvidia-tegra-rt-5.15Upgrade linux-image-aws-64kUpgrade linux-image-aws-6.8Upgrade linux-image-oracle-5.15Upgrade linux-image-nvidia-tegraUpgrade linux-image-nvidia-lowlatency-5.15Upgrade linux-image-generic-5.15Upgrade linux-image-gcp-lts-22.04Upgrade linux-image-gcp-fips-6.8Upgrade linux-image-azure-fips-5.15Upgrade linux-image-aws-fips-5.15Upgrade linux-image-intel-iot-realtimeUpgrade linux-image-gcp-fips-5.15Upgrade linux-image-5.15.0-1112-aws-fipsUpgrade linux-image-azure-lts-22.04Upgrade linux-image-5.15.0-1108-gkeUpgrade linux-image-6.8.0-1064-gcp-fipsUpgrade linux-image-generic-lpae-5.15Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-6.8.0-136-lowlatency-64kUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-gcp-fipsUpgrade linux-image-generic-lpaeUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-5.15.0-1111-realtimeUpgrade linux-image-5.15.0-1106-ibmUpgrade linux-image-nvidia-5.15Upgrade linux-image-oem-22.04Upgrade linux-image-nvidia-tegra-rt | Jul 20, 2026 | May 1, 2026 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | May 27, 2026 | May 1, 2026 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub