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

libfs: set SB_I_NOEXEC and SB_I_NODEV by default in init_pseudo()

Since commit 1e7ab6f67824 ("anon_inode: rework assertions"),
path_noexec() warns when an anonymous-inode file is mmap'd from a
superblock that has not set SB_I_NOEXEC. dma-buf backs its files this
way and never set the flag, so mmap of any exported buffer trips the
warning on a CONFIG_DEBUG_VFS=y kernel:

WARNING: CPU: 11 PID: 121813 at fs/exec.c:118 path_noexec+0x47/0x50
do_mmap+0x2b5/0x680
vm_mmap_pgoff+0x129/0x210
ksys_mmap_pgoff+0x177/0x240
__x64_sys_mmap+0x33/0x70

init_pseudo() sets up internal SB_NOUSER mounts that are never
path-reachable. Set both flags here so every pseudo filesystem gets
them by default instead of each caller setting them.

SB_I_NODEV is inert for unreachable mounts. SB_I_NOEXEC has one
visible effect: an executable mapping of a pseudo-fs fd, such as a
dma-buf, now fails with -EPERM, which is the invariant the assertion
enforces. No in-tree caller maps these executable.

Reproduce on CONFIG_DEBUG_VFS=y:

make -C tools/testing/selftests/dmabuf-heaps
sudo ./tools/testing/selftests/dmabuf-heaps/dmabuf-heap -t system
Published: 2026-08-06
Score: n/a
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Linux kernel fails to set the SB_I_NOEXEC flag on pseudo-filesystems created by init_pseudo(). When a file backed by an anonymous inode or dma‑buf is memory‑mapped from such a superblock, the lack of the flag triggers a debug warning but the internal assertion ultimately returns –EPERM for executable mappings. Thus the vulnerability does not allow an attacker to run code, but it can cause unnecessary warnings and prevents mappings that would otherwise succeed under normal configurations.

Affected Systems

Linux kernel builds prior to the inclusion of commit 1e7ab6f67824. The issue manifests only when the CONFIG_DEBUG_VFS option is enabled and when applications use dma‑buf or anonymous‑inode files with pseudo filesystems such as ramfs or tmpfs created by init_pseudo().

Risk and Exploitability

The bug does not provide a direct path to code execution and is limited to denial of mapping and debug output. EPSS data is not available and the vulnerability is not listed in CISA’s KEV catalog. Exploitation would require local access and a precisely crafted environment to trigger the debug assertion, resulting in low overall risk.

Generated by OpenCVE AI on August 6, 2026 at 09:53 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply a kernel update that incorporates commit 1e7ab6f67824, which automatically sets SB_I_NOEXEC and SB_I_NODEV on pseudo filesystems.
  • If an immediate update is not possible, disable CONFIG_DEBUG_VFS or avoid memory‑mapping dma‑buf backed pseudo‑filesystem files until the patch is applied.
  • Reboot the system or reload the kernel modules to ensure the updated settings take effect.

Generated by OpenCVE AI on August 6, 2026 at 09:53 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 06 Aug 2026 07:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: libfs: set SB_I_NOEXEC and SB_I_NODEV by default in init_pseudo() Since commit 1e7ab6f67824 ("anon_inode: rework assertions"), path_noexec() warns when an anonymous-inode file is mmap'd from a superblock that has not set SB_I_NOEXEC. dma-buf backs its files this way and never set the flag, so mmap of any exported buffer trips the warning on a CONFIG_DEBUG_VFS=y kernel: WARNING: CPU: 11 PID: 121813 at fs/exec.c:118 path_noexec+0x47/0x50 do_mmap+0x2b5/0x680 vm_mmap_pgoff+0x129/0x210 ksys_mmap_pgoff+0x177/0x240 __x64_sys_mmap+0x33/0x70 init_pseudo() sets up internal SB_NOUSER mounts that are never path-reachable. Set both flags here so every pseudo filesystem gets them by default instead of each caller setting them. SB_I_NODEV is inert for unreachable mounts. SB_I_NOEXEC has one visible effect: an executable mapping of a pseudo-fs fd, such as a dma-buf, now fails with -EPERM, which is the invariant the assertion enforces. No in-tree caller maps these executable. Reproduce on CONFIG_DEBUG_VFS=y: make -C tools/testing/selftests/dmabuf-heaps sudo ./tools/testing/selftests/dmabuf-heaps/dmabuf-heap -t system
Title libfs: set SB_I_NOEXEC and SB_I_NODEV by default in init_pseudo()
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-06T07:13:51.523Z

Reserved: 2026-07-19T15:36:31.799Z

Link: CVE-2026-64596

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-06T10:00:05Z

Weaknesses

No weakness.