CVE-2026-89768: fs: fix user path of nested backing files

Published Sep 11, 2026
·
Updated

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

fs: fix user path of nested backing files

backingfileopen() derives the path to be stored in the new backing file from userfile->fpath. This is incorrect when userfile itself is a backing file, which is the case for nested stacking filesystems, e.g. overlayfs mounts where the lowerdir of one overlayfs is the merged directory of another. Since commit def3ae83da02 ("fs: store real path instead of fake path in backing file fpath") the fpath of a backing file holds the real path of the intermediate layer, not the path that the user opened.

Commit 924577e4f6ca ("ovl: Fix nested backing file paths") fixed this for such configurations by passing fileuserpath() from ovlopenrealfile(). However, commit 6af36aeb147a ("lsm: add backingfile LSM hooks") changed the first argument of backingfileopen() from the user path back to the user file and derived the path from userfile->fpath again, silently re-introducing the problem.

As a result, files mapped through a nested overlayfs show the wrong path in /proc/<pid>/maps and in perf/ftrace mmap records. For example, with two nested overlayfs mounts:

mkdir -p /ovl/{lower,upper,work,merged} /ovl/nested echo hello > /ovl/lower/foo mount -t overlay overlay \ -o lowerdir=/ovl/lower,upperdir=/ovl/upper,workdir=/ovl/work \ /ovl/merged # at least two lowerdirs are needed when upperdir is nonexistent mount -t overlay overlay \ -o lowerdir=/ovl/merged:/ovl/lower /ovl/nested

mapping /ovl/nested/foo shows a disconnected path instead of the user path:

# readlink /proc/self/fd/3 /ovl/nested/foo # grep foo /proc/self/maps 7f6e2c100000-7f6e2c101000 r--s 00000000 00:24 15813027 /foo

The bogus path is derived from the fpath of the intermediate backing file, whose mount is a private clone that dpath() cannot resolve.

Fix this by using fileuserpath(), which returns the outermost user-visible path for backing files and falls back to &userfile->fpath for regular files. This restores the behavior of commit 924577e4f6ca ("ovl: Fix nested backing file paths") for overlayfs and also fixes the same problem for the other backingfileopen() callers, fuse passthrough and erofs ishare, when their user file is itself a backing file.

backingtmpfileopen() has the same pattern but is not affected: it is only called by ovlcreatetmpfile() for the upper layer, and another overlayfs is rejected as upperdir by the DCACHEOPREAL check in ovlmountdircheck(), so its userfile can never be a backing file.

Affected Software

1 affected component
Linux Linux kernel

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade Linux kernel to a version that resolves this vulnerability.

    Patch 924577e4f6ca
  2. Upgrade

    Upgrade Linux kernel to a version that resolves this vulnerability.

    Patch 6af36aeb147a
  3. Upgrade

    Upgrade Linux kernel to a version that resolves this vulnerability.

    Patch def3ae83da02
  4. Upgrade

    Upgrade Linux kernel to a version that resolves this vulnerability.

    Patch fs: fix user path of nested backing files

Event History

Sep 11, 2026
CVE Published
via MITRE·07:47 PM
Data Sourced
via MITRE·07:47 PM
Description

Frequently Asked Questions

1

Which configurations are affected?

The issue affects nested stacking filesystem configurations, such as overlayfs where one overlayfs mount uses another overlayfs merged directory as its lowerdir. It is observed when files are mapped through the nested overlayfs arrangement.

2

How can I tell whether the issue is present?

Affected mapped files can display an incorrect path in /proc/<pid>/maps. The same incorrect path can appear in perf and ftrace mmap records.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203