CVE-2025-40237 json
fs/notify: call exportfs_encode_fid with s_umount
published 11mo ago modified 21d ago also EUVD-2025-201222
- cvss
- —
- not scored
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 12%
- public exploits
- 0
- none known
Summary
In the Linux kernel, the following vulnerability has been resolved:
fs/notify: call exportfs_encode_fid with s_umount
Calling intotify_show_fdinfo() on fd watching an overlayfs inode, while the overlayfs is being unmounted, can lead to dereferencing NULL ptr.
This issue was found by syzkaller.
Race Condition Diagram:
Thread 1 Thread 2 -------- --------
generic_shutdown_super() shrink_dcache_for_umount sb->s_root = NULL
| | vfs_read() | inotify_fdinfo() | * inode get from mark * | show_mark_fhandle(m, inode) | exportfs_encode_fid(inode, ..) | ovl_encode_fh(inode, ..) | ovl_check_encode_origin(inode) | * deref i_sb->s_root * | | v fsnotify_sb_delete(sb)
Which then leads to:
[ 32.133461] Oops: general protection fault, probably for non-canonical address 0xdffffc0000000006: 0000 [#1] SMP DEBUG_PAGEALLOC KASAN NOPTI [ 32.134438] KASAN: null-ptr-deref in range [0x0000000000000030-0x0000000000000037] [ 32.135032] CPU: 1 UID: 0 PID: 4468 Comm: systemd-coredum Not tainted 6.17.0-rc6 #22 PREEMPT(none)
<snip registers, unreliable trace>
[ 32.143353] Call Trace: [ 32.143732] ovl_encode_fh+0xd5/0x170 [ 32.144031] exportfs_encode_inode_fh+0x12f/0x300 [ 32.144425] show_mark_fhandle+0xbe/0x1f0 [ 32.145805] inotify_fdinfo+0x226/0x2d0 [ 32.146442] inotify_show_fdinfo+0x1c5/0x350 [ 32.147168] seq_show+0x530/0x6f0 [ 32.147449] seq_read_iter+0x503/0x12a0 [ 32.148419] seq_read+0x31f/0x410 [ 32.150714] vfs_read+0x1f0/0x9e0 [ 32.152297] ksys_read+0x125/0x240
IOW ovl_check_encode_origin derefs inode->i_sb->s_root, after it was set to NULL in the unmount path.
Fix it by protecting calling exportfs_encode_fid() from show_mark_fhandle() with s_umount lock.
This form of fix was suggested by Amir in [1].
[1]: https://lore.kernel.org/all/CAOQ4uxhbDwhb+2Brs1UdkoF0a3NSdBAOQPNfEHjahrgoKJpLEw@mail.gmail.com/
Patch / fix
- Linux Linux 6.6.73, 6.6.115, 6.12.56, 6.17.6, 6.18
- linux Debian 13 6.12.57-1
- linux Debian 14 6.17.6-1
debian advisories DEBIAN-CVE-2025-40237
- linux Ubuntu 24.04 LTS 6.8.0-106.106
- linux Ubuntu 25.10 6.17.0-14.14
- linux-aws Ubuntu 24.04 LTS 6.8.0-1050.53
- linux-aws Ubuntu 25.10 6.17.0-1007.7
- linux-gcp Ubuntu 24.04 LTS 6.8.0-1052.55
- linux-gcp Ubuntu 25.10 6.17.0-1007.7
- linux-gke Ubuntu 24.04 LTS 6.8.0-1048.53
- linux-ibm Ubuntu 24.04 LTS 6.8.0-1049.49
ubuntu advisories UBUNTU-CVE-2025-40237
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- kernel RHEL 10.2 6.12.0-211.39.1.el10_2
- rv RHEL 10.2 6.12.0-211.39.1.el10_2
- perf RHEL 10.2 6.12.0-211.39.1.el10_2
- rtla RHEL 10.2 6.12.0-211.39.1.el10_2
- libperf RHEL 10.2 6.12.0-211.39.1.el10_2
- kernel-rt RHEL 10.2 6.12.0-211.39.1.el10_2
- kernel-64k RHEL 10.2 6.12.0-211.39.1.el10_2
- kernel-core RHEL 10.2 6.12.0-211.39.1.el10_2
red hat advisories RHSA-2026:77634RHSA-2026:45114
- kernel-rt Linux Micro 6.2 6.12.0-160000.9.1
- kernel-64kb SLES 16.0, Linux Micro 6.2, SLES for SAP applications 16.0 6.12.0-160000.9.1
- kernel-source SLES 16.0, Linux Micro 6.2, SLES for SAP applications 16.0 6.12.0-160000.9.1
- kernel-default SLES 16.0, SLE High Availability Extension 16.0, Linux Micro 6.2 +1 more 6.12.0-160000.9.1
- kernel-default-base SLES 16.0, Linux Micro 6.2, SLES for SAP applications 16.0 6.12.0-160000.9.1.160000.2.6
- kernel-syms SLES 16.0, Linux Micro Extras 6.2, SLES for SAP applications 16.0 6.12.0-160000.9.1
- kernel-azure SLES for SAP applications 16.0, SLES 16.0 6.12.0-160000.9.1
- kernel-obs-qa SLES for SAP applications 16.0, SLES 16.0 6.12.0-160000.9.1
suse advisories SUSE-SU-2026:20207-1SUSE-SU-2026:20220-1SUSE-SU-2026:20564-1SUSE-SU-2026:20228-1
- kernel-rt openSUSE Leap 16.0 6.12.0-160000.9.1
- dtb-aarch64 openSUSE Leap 16.0 6.12.0-160000.9.1
- kernel-64kb openSUSE Leap 16.0 6.12.0-160000.9.1
- kernel-syms openSUSE Leap 16.0 6.12.0-160000.9.1
- kernel-azure openSUSE Leap 16.0 6.12.0-160000.9.1
- kernel-obs-qa openSUSE Leap 16.0 6.12.0-160000.9.1
- kernel-source openSUSE Leap 16.0 6.12.0-160000.9.1
- kernel-default openSUSE Leap 16.0 6.12.0-160000.9.1
opensuse advisories openSUSE-SU-2026:20145-1
- kernel AlmaLinux 10 6.12.0-211.39.1.el10_2
- rv AlmaLinux 10 6.12.0-211.39.1.el10_2
- perf AlmaLinux 10 6.12.0-211.39.1.el10_2
- rtla AlmaLinux 10 6.12.0-211.39.1.el10_2
- libperf AlmaLinux 10 6.12.0-211.39.1.el10_2
- kernel-rt AlmaLinux 10 6.12.0-211.39.1.el10_2
- kernel-64k AlmaLinux 10 6.12.0-211.39.1.el10_2
- kernel-core AlmaLinux 10 6.12.0-211.39.1.el10_2
almalinux advisories ALSA-2026:45114
- kernel Rocky Linux 10 6.12.0-211.39.1.el10_2
rocky linux advisories RLSA-2026:45114
- git.kernel.org/stable/c/950b604384fd75d62e860bec7135b2b62eb4d508 commit
- git.kernel.org/stable/c/bc1c6b803e14ea2b8f7e33b7164013f666ceb656 commit
- git.kernel.org/stable/c/3f307a9f7a7a2822e38ac451b73e2244e7279496 commit
- git.kernel.org/stable/c/d1894bc542becb0fda61e7e513b09523cab44030 commit
- git.kernel.org/stable/c/a7c4bb43bfdc2b9f06ee9d036028ed13a83df42a commit
Is CVE-2025-40237 in your stack? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2025-40237 updated cvss 5.8
kernel: fs/notify: call exportfs_encode_fid with s_umount
-
Red Hat Enterprise Linux 9 rv, perf, rtla, kernel, bpftool, libperf, +83 moreaffected: workaround, no fix available “Fix deferred”
-
Red Hat Enterprise Linux AppStream (v. 10) rv 6.12.0-211.39.1.el10_2, perf 6.12.0-211.39.1.el10_2, rtla 6.12.0-211.39.1.el10_2, python3-perf 6.12.0-211.39.1.el10_2, kernel-devel-matched 6.12.0-211.39.1.el10_2, kernel-64k-devel-matched 6.12.0-211.39.1.el10_2, +7 morefixed: vendor fix RHSA-2026:45114
-
Red Hat Enterprise Linux AppStream EUS (v. 10.0) rv 6.12.0-55.109.1.el10_0, perf 6.12.0-55.109.1.el10_0, rtla 6.12.0-55.109.1.el10_0, python3-perf 6.12.0-55.109.1.el10_0, kernel-devel-matched 6.12.0-55.109.1.el10_0, kernel-64k-devel-matched 6.12.0-55.109.1.el10_0, +7 morefixed: vendor fix RHSA-2026:77634
-
Red Hat Enterprise Linux BaseOS (v. 10) kernel 6.12.0-211.39.1.el10_2, kernel-64k 6.12.0-211.39.1.el10_2, kernel-core 6.12.0-211.39.1.el10_2, kernel-tools 6.12.0-211.39.1.el10_2, kernel-modules 6.12.0-211.39.1.el10_2, kernel-64k-core 6.12.0-211.39.1.el10_2, +28 morefixed: vendor fix RHSA-2026:45114
-
Red Hat Enterprise Linux BaseOS EUS (v. 10.0) kernel 6.12.0-55.109.1.el10_0, kernel-64k 6.12.0-55.109.1.el10_0, kernel-core 6.12.0-55.109.1.el10_0, kernel-tools 6.12.0-55.109.1.el10_0, kernel-modules 6.12.0-55.109.1.el10_0, kernel-64k-core 6.12.0-55.109.1.el10_0, +27 morefixed: vendor fix RHSA-2026:77634
-
Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) libperf 6.12.0-211.39.1.el10_2, kernel-debuginfo-common-s390x 6.12.0-211.39.1.el10_2, kernel-debuginfo-common-x86_64 6.12.0-211.39.1.el10_2, kernel-debuginfo-common-aarch64 6.12.0-211.39.1.el10_2, kernel-debuginfo-common-ppc64le 6.12.0-211.39.1.el10_2fixed: vendor fix RHSA-2026:45114
-
Red Hat Enterprise Linux CodeReady Linux Builder EUS (v. 10.0) libperf 6.12.0-55.109.1.el10_0, kernel-debuginfo-common-s390x 6.12.0-55.109.1.el10_0, kernel-debuginfo-common-x86_64 6.12.0-55.109.1.el10_0, kernel-debuginfo-common-aarch64 6.12.0-55.109.1.el10_0, kernel-debuginfo-common-ppc64le 6.12.0-55.109.1.el10_0fixed: vendor fix RHSA-2026:77634
-
Red Hat Enterprise Linux Real Time (v. 10) kernel-rt 6.12.0-211.39.1.el10_2, kernel-rt-64k 6.12.0-211.39.1.el10_2, kernel-rt-core 6.12.0-211.39.1.el10_2, kernel-rt-modules 6.12.0-211.39.1.el10_2, kernel-rt-64k-core 6.12.0-211.39.1.el10_2, kernel-rt-debug-core 6.12.0-211.39.1.el10_2, +14 morefixed: vendor fix RHSA-2026:45114
show 4 moreshow fewer
-
Red Hat Enterprise Linux Real Time EUS (v. 10.0) kernel-rt 6.12.0-55.109.1.el10_0, kernel-rt-64k 6.12.0-55.109.1.el10_0, kernel-rt-core 6.12.0-55.109.1.el10_0, kernel-rt-modules 6.12.0-55.109.1.el10_0, kernel-rt-64k-core 6.12.0-55.109.1.el10_0, kernel-rt-debug-core 6.12.0-55.109.1.el10_0, +14 morefixed: vendor fix RHSA-2026:77634
-
Red Hat Enterprise Linux Real Time for NFV (v. 10) kernel-rt 6.12.0-211.39.1.el10_2, kernel-rt-core 6.12.0-211.39.1.el10_2, kernel-rt-modules 6.12.0-211.39.1.el10_2, kernel-rt-debug-core 6.12.0-211.39.1.el10_2, kernel-rt-modules-core 6.12.0-211.39.1.el10_2, kernel-rt-debug-modules 6.12.0-211.39.1.el10_2, +4 morefixed: vendor fix RHSA-2026:45114
-
Red Hat Enterprise Linux Real Time for NFV EUS (v. 10.0) kernel-rt 6.12.0-55.109.1.el10_0, kernel-rt-kvm 6.12.0-55.109.1.el10_0, kernel-rt-core 6.12.0-55.109.1.el10_0, kernel-rt-modules 6.12.0-55.109.1.el10_0, kernel-rt-debug-kvm 6.12.0-55.109.1.el10_0, kernel-rt-debug-core 6.12.0-55.109.1.el10_0, +6 morefixed: vendor fix RHSA-2026:77634
-
Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 more Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 more Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Exploit prediction
0.22% chance of exploitation in the next 30 days, higher than 12% of all scored CVEs (FIRST EPSS, 2026-11-09).
Affected products
- Linux Linux
Classification
- Technology feeds
References
- git.kernel.org /stable/c/950b604384fd75d62e860bec7135b2b62eb4d508
- git.kernel.org /stable/c/bc1c6b803e14ea2b8f7e33b7164013f666ceb656
- git.kernel.org /stable/c/3f307a9f7a7a2822e38ac451b73e2244e7279496
- git.kernel.org /stable/c/d1894bc542becb0fda61e7e513b09523cab44030
- git.kernel.org /stable/c/a7c4bb43bfdc2b9f06ee9d036028ed13a83df42a
Sources
- CVE List CVE-2025-40237
- NVD CVE-2025-40237
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.