Skip to content
OpenAdvisories
Unscored CVE-2026-98214 EUVD-2026-93142GHSA-cwv8-mjrx-v4v5

selinux: recheck intermediate backing files on mprotect()

Published Oct 6, 2026 · Updated Oct 19, 2026 · Assigned by Linux

Vendor: Linux Product: Linux Package: kernel Package: linux Package: linux Package: linux-6.12 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.19 Package: linux-aws-5.3 Package: linux-aws-5.8 Package: linux-aws-6.14 Package: linux-aws-6.17 Package: linux-aws-6.2 Package: linux-aws-6.5 Package: linux-aws-7.0 Package: linux-azure Package: linux-azure-5.11 Package: linux-azure-5.13 Package: linux-azure-5.19 Package: linux-azure-5.3 Package: linux-azure-5.8 Package: linux-azure-6.11 Package: linux-azure-6.14 Package: linux-azure-6.17 Package: linux-azure-6.2 Package: linux-azure-6.5 Package: linux-azure-7.0 Package: linux-azure-edge Package: linux-azure-fde Package: linux-azure-fde-5.19 Package: linux-azure-fde-6.14 Package: linux-azure-fde-6.17 Package: linux-azure-fde-6.2 Package: linux-azure-fde-7.0 Package: linux-azure-nvidia-6.14 Package: linux-gcp Package: linux-gcp-5.11 Package: linux-gcp-5.13 Package: linux-gcp-5.19 Package: linux-gcp-5.3 Package: linux-gcp-5.8 Package: linux-gcp-6.11 Package: linux-gcp-6.14 Package: linux-gcp-6.17 Package: linux-gcp-6.2 Package: linux-gcp-6.5 Package: linux-gcp-7.0 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.19 Package: linux-hwe-5.8 Package: linux-hwe-6.11 Package: linux-hwe-6.14 Package: linux-hwe-6.2 Package: linux-hwe-6.5 Package: linux-hwe-7.0 Package: linux-hwe-edge Package: linux-ibm Package: linux-intel-5.13 Package: linux-intel-iot-realtime Package: linux-lowlatency-hwe-5.19 Package: linux-lowlatency-hwe-6.11 Package: linux-lowlatency-hwe-6.2 Package: linux-lowlatency-hwe-6.5 Package: linux-nvidia Package: linux-nvidia-6.11 Package: linux-nvidia-6.17 Package: linux-nvidia-6.2 Package: linux-nvidia-6.5 Package: linux-nvidia-7.0 Package: linux-nvidia-bos Package: linux-nvidia-tegra 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-oem-6.11 Package: linux-oem-6.14 Package: linux-oem-6.5 Package: linux-oem-6.8 Package: linux-oem-7.0 Package: linux-oracle Package: linux-oracle-5.0 Package: linux-oracle-5.11 Package: linux-oracle-5.13 Package: linux-oracle-5.3 Package: linux-oracle-5.8 Package: linux-oracle-6.14 Package: linux-oracle-6.17 Package: linux-oracle-6.5 Package: linux-oracle-7.0 Package: linux-raspi Package: linux-raspi-realtime Package: linux-raspi2 Package: linux-realtime Package: linux-realtime-6.14 Package: linux-realtime-6.17 Package: linux-riscv Package: linux-riscv-5.11 Package: linux-riscv-5.19 Package: linux-riscv-5.8 Package: linux-riscv-6.14 Package: linux-riscv-6.17 Package: linux-riscv-6.5 Package: linux-riscv-7.0 Package: linux-starfive-5.19 Package: linux-starfive-6.2 Package: linux-starfive-6.5 Package: linux-vmware Platform: Linux Ecosystem: Azure Linux Ecosystem: Debian Ecosystem: Ubuntu

Description

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

selinux: recheck intermediate backing files on mprotect()

mprotect() can be used to bypass the SELinux checks that mmap() performs
against the intermediate layers of a stacked filesystem.

mmap() checks every backing layer as the request descends through the
stack. mprotect() only has the lowest backing file in vma->vm_file, so it
rechecks the top-level user and the lowest mounter, but skips the mounters
of every layer in between. With two nested overlayfs mounts and a policy
denying mounter_t -> middle_file_t:file { execute }, a direct
mmap(PROT_EXEC) is denied:

avc: denied { execute } for pid=71 comm="nested_exec"
path="/payload" dev="overlay" ino=9
scontext=user_u:base_r:mounter_t
tcontext=user_u:object_r:middle_file_t tclass=file permissive=0

while mmap(PROT_NONE) followed by mprotect(PROT_EXEC) succeeds.

Preserve each intermediate path, mounter SID and file-description SID in
the backing-file security blob, copying the saved entries when another
backing layer is opened. Allocate the array only for nested backing files,
and release it and the path references in the backing_file_free hook.

During mprotect(), recheck fd { use } and the requested inode permissions
for every saved mounter, and include the intermediate layers in the execmod
checks. Policy for nested stacking may then need to grant intermediate
mounters what a direct mmap() already requires, and execmod on intermediate
labels for binaries using text relocations.

Tested on arm64 QEMU with a small BusyBox initramfs and a purpose-built
SELinux policy, on a mainline tree containing
commit f2381b546e7e ("fs: fix user path of nested backing files").

[PM: subject tweak]

Affected products

VendorProductAffectedFixed
Linux Linux 6.6.144 – < 6.6.158, 6.12.95 – < 6.12.112, 6.18.38 – < 6.18.54, 7.0.4 – < 7.1, 7.1 6.6.158

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 7.2.8-1 —
Debian 13 linux 6.12.113-1 —
Debian 12 linux-6.12 6.12.113-1~deb12u1 —
ReleasePackageFixed inAdvisory
Ubuntu 26.04 LTS linux 7.0.0-42.42 USN-8959-1
Ubuntu 26.04 LTS linux-aws 7.0.0-1016.17 USN-8959-1
Ubuntu 26.04 LTS linux-azure 7.0.0-1020.21 USN-9019-1
Ubuntu 26.04 LTS linux-azure-fde 7.0.0-1019.19 USN-9020-1
Ubuntu 26.04 LTS linux-gcp 7.0.0-1016.18 USN-8959-1
Ubuntu 26.04 LTS linux-gke 7.0.0-1010.11 USN-9020-1
Ubuntu 26.04 LTS linux-ibm +1 7.0.0-1017.17 USN-8960-1, USN-8959-1
Ubuntu 26.04 LTS linux-nvidia +1 No fix yet —
Ubuntu 26.04 LTS linux-oracle 7.0.0-1015.16 USN-8959-1
Ubuntu 26.04 LTS linux-raspi 7.0.0-1023.23 USN-9021-1
Ubuntu 26.04 LTS linux-realtime 7.0.0-43.43.1 USN-9020-1
Ubuntu 26.04 LTS linux-riscv 7.0.0-42.42.1 —
Ubuntu 24.04 LTS linux-aws-7.0 7.0.0-1017.18~24.04.1 USN-9020-1
Ubuntu 24.04 LTS linux-azure-fde-7.0 7.0.0-1019.19~24.04.1 USN-9020-1
Ubuntu 24.04 LTS linux-gcp-7.0 7.0.0-1017.19~24.04.1 USN-9020-1
Ubuntu 24.04 LTS linux-hwe-7.0 7.0.0-42.42~24.04.1 USN-8959-1
Ubuntu 24.04 LTS linux-oracle-7.0 7.0.0-1016.18~24.04.1 USN-9020-1
Ubuntu 24.04 LTS linux-riscv +28 No fix yet —
Ubuntu 24.04 LTS linux-riscv-7.0 7.0.0-42.42.1~24.04.1 —
Ubuntu 22.04 LTS linux-riscv +32 No fix yet —
Ubuntu 20.04 LTS linux-gke +28 No fix yet —
Ubuntu 18.04 LTS linux-gcp +14 No fix yet —
Show 2 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu 16.04 LTS linux-hwe-edge No fix yet —
Ubuntu Pro Realtime 24.04 LTS linux-realtime-6.14 +1 No fix yet —
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed kernel-source 7.2.10-1.1 openSUSE-SU-2026:12131-1

Amazon Linux

ReleasePackageFixed inAdvisory
Amazon Linux 2023 kernel-livepatch-6.18.54-121.166 +1 1:1.0-0.amzn2023 ALAS2023-2026-3335, ALAS2023-2026-3192
Amazon Linux 2023 perf6.12 +11 1:6.12.113-138.209.amzn2023 ALAS2023-2026-3335
Amazon Linux 2023 perf6.18 +12 1:6.18.54-121.166.amzn2023 ALAS2023-2026-3192

Azure Linux

ReleasePackageFixed inAdvisory
Azure Linux 3 kernel No fix yet —

Oracle Linux

ReleasePackageFixed inAdvisory
Oracle Linux 9 kernel-uek +34 6.12.0-208.112.5.el10uek ELSA-2026-500572

Advisories 10

References