In the Linux kernel, the following vulnerability has been resolved:
eventpoll: don't decrement ep refcount while still holding the ep mutex
Jann Horn points out that epoll is decrementing the ep refcount and then doing a
mutex_unlock(&ep->mtx);
afterwards. That's very wrong, because it can lead to a use-after-free.
That pattern is actually fine for the very last reference, because the code in question will delay the actual call to "ep_free(ep)" until after it has unlocked the mutex.
But it's wrong for the much subtler "next to last" case when somebody *else* may also be dropping their reference and free the ep while we're still using the mutex.
Note that this is true even if that other user is also using the same ep mutex: mutexes, unlike spinlocks, can not be used for object ownership, even if they guarantee mutual exclusion.
A mutex "unlock" operation is not atomic, and as one user is still accessing the mutex as part of unlocking it, another user can come in and get the now released mutex and free the data structure while the first user is still cleaning up.
See our mutex documentation in Documentation/locking/mutex-design.rst, in particular the section [1] about semantics:
"mutex_unlock() may access the mutex structure even after it has internally released the lock already - so it's not safe for another context to acquire the mutex and assume that the mutex_unlock() context is not using the structure anymore"
So if we drop our ep ref before the mutex unlock, but we weren't the last one, we may then unlock the mutex, another user comes in, drops _their_ reference and releases the 'ep' as it now has no users - all while the mutex_unlock() is still accessing it.
Fix this by simply moving the ep refcount dropping to outside the mutex: the refcount itself is atomic, and doesn't need mutex protection (that's the whole _point_ of refcounts: unlike mutexes, they are inherently about object lifetimes).
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Alma_linux | — | Upgrade kernel-rt-64k-modules-coreUpgrade kernel-coreUpgrade kernel-debug-devel-matchedUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-64k-debug-coreUpgrade kernel-debugUpgrade kernel-rt-64k-debug-modulesUpgrade libperfUpgrade kernel-rt-64k-debugUpgrade kernel-modules-extraUpgrade kernel-zfcpdump-modulesUpgrade kernel-headersUpgrade kernel-rt-64k-debug-modules-coreUpgrade kernel-64k-coreUpgrade kernel-debug-develUpgrade kernel-64kUpgrade kernel-64k-develUpgrade kernel-64k-modulesUpgrade kernel-zfcpdump-develUpgrade kernel-rt-coreUpgrade kernel-abi-stablelistsUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-cross-headersUpgrade kernel-modules-coreUpgrade kernel-rt-64k-modulesUpgrade rtlaUpgrade kernel-64k-devel-matchedUpgrade kernel-rt-64k-debug-modules-extraUpgrade kernel-debug-modules-coreUpgrade kernel-debug-coreUpgrade kernel-modulesUpgrade kernel-rt-debug-modulesUpgrade kernel-rt-64k-modules-extraUpgrade kernel-64k-debug-modules-extraUpgrade kernel-rt-debug-develUpgrade kernel-debug-modules-extraUpgrade kernel-rt-modules-coreUpgrade kernel-debug-modulesUpgrade kernel-devel-matchedUpgrade kernel-64k-modules-coreUpgrade kernelUpgrade kernel-uki-virtUpgrade kernel-toolsUpgrade kernel-tools-libs-develUpgrade kernel-rt-debug-coreUpgrade kernel-rt-develUpgrade kernel-64k-debug-develUpgrade kernel-64k-debug-modulesUpgrade rvUpgrade kernel-64k-modules-extraUpgrade kernel-64k-debug-modules-coreUpgrade kernel-rt-64k-debug-develUpgrade kernel-64k-debugUpgrade kernel-docUpgrade perfUpgrade kernel-rt-debugUpgrade kernel-zfcpdump-coreUpgrade kernel-zfcpdumpUpgrade kernel-rt-64k-develUpgrade python3-perfUpgrade kernel-rt-modules-extraUpgrade kernel-rt-modulesUpgrade kernel-uki-virt-addonsUpgrade kernel-rt-64kUpgrade kernel-rtUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-debug-uki-virtUpgrade kernel-rt-64k-coreUpgrade kernel-tools-libsUpgrade kernel-rt-64k-debug-coreUpgrade kernel-64k-debug-devel-matchedUpgrade kernel-rt-debug-modules-extraUpgrade kernel-develUpgrade kernel-rt-debug-modules-core | Feb 2, 2026 | Jan 26, 2026 |
| Amazon_linux_2023 | — | Upgrade kernel6.12-tools-develUpgrade kernel6.12-toolsUpgrade python3-perf6.12Upgrade kernel6.12-modules-extraUpgrade kernel6.12Upgrade kernel6.12-debuginfo-common-aarch64Upgrade bpftool6.12-debuginfoUpgrade kernel6.12-libbpf-debuginfoUpgrade kernel6.12-headersUpgrade perf6.12-debuginfoUpgrade kernel-livepatch-6.12.40-63.114Upgrade kernel6.12-modules-extra-commonUpgrade kernel6.12-debuginfo-common-x86_64Upgrade kernel6.12-develUpgrade perf6.12Upgrade python3-perf6.12-debuginfoUpgrade bpftool6.12Upgrade kernel6.12-libbpfUpgrade kernel6.12-tools-debuginfoUpgrade kernel6.12-libbpf-develUpgrade kernel6.12-libbpf-staticUpgrade kernel6.12-debuginfo | Sep 9, 2025 | Jul 18, 2025 |
| Debian | — | Upgrade linux | Jul 23, 2026 | Jul 23, 2026 |
| Oracle_linux | — | Upgrade kernel | Jan 29, 2026 | Jul 18, 2025 |
| Redhat_linux | — | Upgrade kernel-rtUpgrade kernelNo solution exists | Jul 21, 2025 | Jul 18, 2025 |
| Rocky_linux | — | Upgrade kernel-rt-develUpgrade kernel-debuginfo-common-s390xUpgrade kernel-rt-modules-coreUpgrade kernel-develUpgrade perf-debuginfoUpgrade kernel-rtUpgrade kernel-rt-debugUpgrade kernel-rt-debug-modulesUpgrade kernel-coreUpgrade kernel-debug-modules-extraUpgrade kernel-toolsUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-rt-debug-modules-coreUpgrade kernel-tools-libs-develUpgrade libperfUpgrade rvUpgrade kernel-zfcpdumpUpgrade kernel-modulesUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-zfcpdump-modulesUpgrade perfUpgrade kernel-debug-debuginfoUpgrade kernel-modules-extraUpgrade libperf-debuginfoUpgrade kernel-rt-debuginfoUpgrade kernel-uki-virt-addonsUpgrade kernel-rt-debug-modules-extraUpgrade kernel-zfcpdump-coreUpgrade kernel-uki-virtUpgrade kernel-rt-modulesUpgrade kernel-rt-debug-debuginfoUpgrade kernel-debug-modules-coreUpgrade kernel-debug-devel-matchedUpgrade kernel-debug-coreUpgrade kernel-debug-develUpgrade kernelUpgrade kernel-modules-coreUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-debug-uki-virtUpgrade kernel-zfcpdump-develUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-debug-modulesUpgrade kernel-tools-debuginfoUpgrade kernel-rt-modules-extraUpgrade kernel-rt-debug-coreUpgrade kernel-rt-debug-develUpgrade kernel-devel-matchedUpgrade python3-perf-debuginfoUpgrade kernel-zfcpdump-debuginfoUpgrade rtlaUpgrade kernel-modules-extra-matchedUpgrade kernel-debuginfoUpgrade kernel-rt-coreUpgrade kernel-debugUpgrade python3-perfUpgrade kernel-tools-libs | Feb 9, 2026 | Feb 8, 2026 |
| Suse | — | Upgrade cluster-md-kmp-defaultUpgrade kernel-azure-vdsoUpgrade cluster-md-kmp-azureUpgrade kernel-syms-azureUpgrade dlm-kmp-azureUpgrade dtb-qcomUpgrade kernel-rt-optionalUpgrade kernel-obs-qaUpgrade kernel-devel-azureUpgrade dtb-lgUpgrade kernel-default-extraUpgrade kernel-rt-vdsoUpgrade dtb-apmUpgrade kernel-azure-develUpgrade kernel-rt_debug-vdsoUpgrade reiserfs-kmp-azureUpgrade kernel-zfcpdumpUpgrade kselftests-kmp-azureUpgrade kernel-rtUpgrade dtb-rockchipUpgrade dtb-amlogicUpgrade kernel-azure-optionalUpgrade kernel-kvmsmall-develUpgrade kernel-syms-rtUpgrade kernel-default-vdsoUpgrade ocfs2-kmp-rtUpgrade dtb-nvidiaUpgrade gfs2-kmp-rtUpgrade reiserfs-kmp-64kbUpgrade kernel-azureUpgrade kernel-sourceUpgrade kernel-source-azureUpgrade kselftests-kmp-64kbUpgrade kernel-macrosUpgrade kernel-obs-buildUpgrade kernel-rt-extraUpgrade dtb-armUpgrade kernel-kvmsmall-vdsoUpgrade kernel-debug-vdsoUpgrade kernel-source-rtUpgrade dlm-kmp-64kbUpgrade kernel-default-base-rebuildUpgrade dtb-exynosUpgrade kernel-rt_debug-develUpgrade kernel-rt-livepatch-develUpgrade kernel-kvmsmallUpgrade kernel-symsUpgrade kernel-default-livepatchUpgrade ocfs2-kmp-azureUpgrade kernel-64kb-extraUpgrade gfs2-kmp-defaultUpgrade kernel-64kb-develUpgrade dtb-hisiliconUpgrade dtb-caviumUpgrade kernel-docs-htmlUpgrade dtb-allwinnerUpgrade kernel-debug-develUpgrade dtb-appleUpgrade dtb-alteraUpgrade kernel-debugUpgrade kernel-azure-extraUpgrade kselftests-kmp-defaultUpgrade dlm-kmp-rtUpgrade kernel-rt-develUpgrade kernel-default-livepatch-develUpgrade kernel-defaultUpgrade gfs2-kmp-azureUpgrade gfs2-kmp-64kbUpgrade kernel-64kbUpgrade kernel-64kb-optionalUpgrade dtb-freescaleUpgrade dtb-amazonUpgrade kernel-rt_debugUpgrade dtb-renesasUpgrade dlm-kmp-defaultUpgrade kselftests-kmp-rtUpgrade kernel-source-vanillaUpgrade cluster-md-kmp-rtUpgrade ocfs2-kmp-64kbUpgrade kernel-docsUpgrade kernel-default-develUpgrade kernel-default-baseUpgrade dtb-socionextUpgrade dtb-marvellUpgrade dtb-mediatekUpgrade kernel-develUpgrade kernel-default-optionalUpgrade dtb-sprdUpgrade dtb-xilinxUpgrade dtb-broadcomUpgrade dtb-amdUpgrade kernel-devel-rtUpgrade reiserfs-kmp-defaultUpgrade kernel-rt-livepatchUpgrade cluster-md-kmp-64kbUpgrade reiserfs-kmp-rtUpgrade ocfs2-kmp-default | Dec 5, 2025 | Aug 18, 2025 |
| Ubuntu | — | Upgrade linux-image-aws-64k-6.8Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-realtime-hwe-22.04Upgrade linux-image-azure-fipsUpgrade linux-image-oracle-64kUpgrade linux-image-6.8.0-1046-nvidia-64kUpgrade linux-image-virtualUpgrade linux-image-6.8.0-100-lowlatency-64kUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-6.8.0-1043-oracleUpgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-oem-6.14Upgrade linux-image-6.8.0-100-generic-64kUpgrade linux-image-6.8.0-1051-azureUpgrade linux-image-generic-lpaeUpgrade linux-image-lowlatencyUpgrade linux-image-6.14.0-1020-gcpUpgrade linux-image-ibm-classicUpgrade linux-image-oracle-64k-6.14Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-generic-6.8Upgrade linux-image-6.8.0-100-fipsUpgrade linux-image-gcp-fips-6.8Upgrade linux-image-nvidiaUpgrade linux-image-aws-6.8Upgrade linux-image-azure-lts-24.04Upgrade linux-image-azure-fips-6.8Upgrade linux-image-lowlatency-64kUpgrade linux-image-gcpUpgrade linux-image-6.8.0-1046-aws-fipsUpgrade linux-image-genericUpgrade linux-image-gkeop-6.8Upgrade linux-image-6.14.0-1017-aws-64kUpgrade linux-image-oem-22.04aUpgrade linux-image-oem-24.04aUpgrade linux-image-oracle-64k-6.8Upgrade linux-image-oem-22.04cUpgrade linux-image-raspi-realtimeUpgrade linux-image-6.8.0-100-genericUpgrade linux-image-6.8.0-1043-gke-64kUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-oem-22.04bUpgrade linux-image-xilinxUpgrade linux-image-ibm-6.8Upgrade linux-image-generic-64k-6.8Upgrade linux-image-6.8.0-1046-azure-fipsUpgrade linux-image-fips-6.8Upgrade linux-image-generic-64kUpgrade linux-image-6.8.1-1041-realtimeUpgrade linux-image-fipsUpgrade linux-image-6.8.0-1023-xilinxUpgrade linux-image-6.8.0-1043-oracle-64kUpgrade linux-image-6.8.0-1043-gkeUpgrade linux-image-6.8.0-1046-aws-64kUpgrade linux-image-gkeopUpgrade linux-image-6.14.0-36-generic-64kUpgrade linux-image-6.8.0-1046-nvidia-lowlatency-64kUpgrade linux-image-raspi-realtime-6.8Upgrade linux-image-ibmUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-6.14.0-1017-oracleUpgrade linux-image-6.8.0-1046-azureUpgrade linux-image-6.14.0-1016-oemUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-6.8.0-1047-gcp-fipsUpgrade linux-image-oem-22.04Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-6.14.0-1018-raspiUpgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-realtime-6.8.1Upgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-6.14.0-1017-azureUpgrade linux-image-6.8.0-100-lowlatencyUpgrade linux-image-oracle-6.14Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-intel-iot-realtimeUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-gcp-fipsUpgrade linux-image-aws-6.14Upgrade linux-image-6.14.0-1017-oracle-64kUpgrade linux-image-6.8.0-1044-ibmUpgrade linux-image-aws-64k-6.14Upgrade linux-image-6.8.0-1046-nvidiaUpgrade linux-image-6.14.0-1016-realtimeUpgrade linux-image-aws-fipsUpgrade linux-image-6.8.0-1046-nvidia-lowlatencyUpgrade linux-image-kvmUpgrade linux-image-aws-64kUpgrade linux-image-generic-6.14Upgrade linux-image-nvidia-64kUpgrade linux-image-gcp-64k-6.8Upgrade linux-image-virtual-6.8Upgrade linux-image-gkeUpgrade linux-image-gcp-64kUpgrade linux-image-gcp-6.14Upgrade linux-image-awsUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-gke-64k-6.8Upgrade linux-image-azure-6.8Upgrade linux-image-azureUpgrade linux-image-6.8.0-1047-raspiUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-gcp-64k-6.14Upgrade linux-image-xilinx-6.8Upgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-virtual-6.14Upgrade linux-image-raspiUpgrade linux-image-6.8.0-1047-gcpUpgrade linux-image-generic-64k-6.14Upgrade linux-image-oem-24.04Upgrade linux-image-raspi-6.14Upgrade linux-image-6.8.0-1030-gkeopUpgrade linux-image-raspi-6.8Upgrade linux-image-oem-22.04dUpgrade linux-image-aws-lts-24.04Upgrade linux-image-azure-6.14Upgrade linux-image-oracleUpgrade linux-image-realtimeUpgrade linux-image-nvidia-6.8Upgrade linux-image-intel-iotgUpgrade linux-image-realtime-hwe-24.04Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-gcp-lts-24.04Upgrade linux-image-gke-6.8Upgrade linux-image-xilinx-zynqmpUpgrade linux-image-realtime-6.14Upgrade linux-image-6.8.0-1047-gcp-64kUpgrade linux-image-lowlatency-6.8Upgrade linux-image-gcp-6.8Upgrade linux-image-6.8.0-2037-raspi-realtimeUpgrade linux-image-6.14.0-1020-gcp-64kUpgrade linux-image-oracle-6.8Upgrade linux-image-virtual-hwe-22.04Upgrade linux-image-gke-64kUpgrade linux-image-6.14.0-1017-awsUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-6.14.0-36-genericUpgrade linux-image-aws-fips-6.8Upgrade linux-image-6.8.0-1046-aws | Jul 28, 2025 | Jul 18, 2025 |
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