---
id: CVE-2026-53341
title: |-
  In the Linux kernel, the following vulnerability has been resolved:

  fhandle: fix UAF due to unlocked ->mnt_ns read in may_decode_fh()

  may_decode_fh() accesses mount::mnt_ns without holding any locks; that
  means the mount can concurrent…
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  fhandle: fix UAF due to unlocked ->mnt_ns read in may_decode_fh()

  may_decode_fh() accesses mount::mnt_ns without holding any locks; that
  means the mount can concurrent…
severity: high
published: '2026-07-01'
updated: '2026-07-04'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-53341'
references:
  - url: 'https://git.kernel.org/stable/c/15ea8dc42a02259d49dee38a658d40f60fcd75ed'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/32138633e51e6db59e474765cf93268c92b42888'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/40ab6644b99685755f740b872c00ef40d9aa870e'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/a8ed2c29fcfdac78db96c9da4e659c8a513f2a94'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-53341.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-53341'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2495938'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-53341'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-53341'
  - url: >-
      https://lore.kernel.org/linux-cve-announce/2026070144-CVE-2026-53341-64ff@gregkh/T
  - url: 'https://access.redhat.com/errata/RHSA-2026:72624'
  - url: 'https://access.redhat.com/errata/RHSA-2026:72623'
tags:
  - nvd
  - csaf
  - vex
  - red-hat
  - cve.org
epss: 0.00127
epssPercentile: 0.02348
ingestedAt: '2026-07-04T13:56:12.017Z'
vendor: Red Hat
product: Red Hat Enterprise Linux BaseOS (v. 10)
affected:
  - enterprise_linux 6
  - enterprise_linux 9
  - enterprise_linux_appstream_v_10
  - enterprise_linux_appstream_v_9
  - enterprise_linux_baseos_v_10
  - enterprise_linux_baseos_v_9
  - enterprise_linux_codeready_linux_builder_v_10
  - enterprise_linux_codeready_linux_builder_v_9
  - enterprise_linux_real_time_for_nfv_v_10
  - enterprise_linux_real_time_for_nfv_v_9
  - enterprise_linux_real_time_v_10
  - enterprise_linux_real_time_v_9
patched:
  - enterprise_linux_appstream_v_10
  - enterprise_linux_appstream_v_9
  - enterprise_linux_baseos_v_10
  - enterprise_linux_baseos_v_9
  - enterprise_linux_codeready_linux_builder_v_10
  - enterprise_linux_codeready_linux_builder_v_9
  - enterprise_linux_real_time_for_nfv_v_10
  - enterprise_linux_real_time_for_nfv_v_9
  - enterprise_linux_real_time_v_10
  - enterprise_linux_real_time_v_9
cvss: 7
cvssVector: 'CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H'
cvssSource: vendor
cwe:
  - CWE-364
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: total
  timestamp: '2026-10-16T15:28:32.016897Z'
scores:
  vendor: 7
  cna: 7.8
---

## Overview

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

fhandle: fix UAF due to unlocked ->mnt_ns read in may_decode_fh()

may_decode_fh() accesses mount::mnt_ns without holding any locks; that
means the mount can concurrently be unmounted, and the mnt_namespace can
concurrently be freed after an RCU grace period.

This race can happens as follows, assuming that the mount point was
created by open_tree(..., OPEN_TREE_CLONE):

thread 1            thread 2            RCU
                    __do_sys_open_by_handle_at
                      do_handle_open
                        handle_to_path
                          may_decode_fh
                            is_mounted
                              [mount::mnt_ns access]
                            [mount::mnt_ns access]
__do_sys_close
  fput_close_sync
    __fput
      dissolve_on_fput
        umount_tree
        class_namespace_excl_destructor
          namespace_unlock
            free_mnt_ns
              mnt_ns_tree_remove
                call_rcu(mnt_ns_release_rcu)
                                        mnt_ns_release_rcu
                                          mnt_ns_release
                                            kfree
                            [mnt_namespace::user_ns access] **UAF**

Fix it by taking rcu_read_lock() around the mount::mnt_ns access, like
in __prepend_path().
Additionally, document the semantics of mount::mnt_ns, and use WRITE_ONCE()
for writers that can race with lockless readers.

This bug is unreachable unless one of the following is set:

 - CONFIG_PREEMPTION
 - CONFIG_RCU_STRICT_GRACE_PERIOD

because it requires an RCU grace period to happen during a syscall without
an explicit preemption.

This doesn't seem to have interesting security impact; worst-case, it could
leak the result of an integer comparison to userspace (from the level
check in cap_capable()), cause an endless loop, or crash the kernel by
dereferencing an invalid address.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

## Vendor advisories

- **RHSA-2026:72624** · Red Hat · fixed in: Red Hat Enterprise Linux AppStream (v. 10), Red Hat Enterprise Linux BaseOS (v. 10), Red Hat Enterprise Linux CodeReady Linux Builder (v. 10), Red Hat Enterprise Linux Real Time for NFV (v. 10), Red Hat Enterprise Linux Real Time (v. 10) · released 2026-09-28 · [advisory](https://access.redhat.com/errata/RHSA-2026:72624)
- **RHSA-2026:72623** · Red Hat · fixed in: Red Hat Enterprise Linux AppStream (v. 9), Red Hat Enterprise Linux BaseOS (v. 9), Red Hat Enterprise Linux CodeReady Linux Builder (v. 9), Red Hat Enterprise Linux Real Time for NFV (v. 9), Red Hat Enterprise Linux Real Time (v. 9) · released 2026-09-28 · [advisory](https://access.redhat.com/errata/RHSA-2026:72623)
- **Red Hat VEX** · Moderate · affected: Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 9 · no fix planned: Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 9 · updated 2026-09-28 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-53341.json)
