CVE-2025-68736
NoneCVSS
—
EPSS
0.1%
Published
Dec 24, 2025
CISA due date
—
Cloudanix analysis
A flaw in the Linux kernel's sandboxing feature could let programs inside containers gain more file access than their rules should allow when certain mount and rename operations occur.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- Moderate
- Impact
- Privilege Gain
- Component
- OS kernel
- Class
- Authorization Bypass
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Landlock incorrectly collects access rights for files or directories opened via disconnected bind-mount directories by walking the filesystem hierarchy instead of the mount hierarchy, enabling potential widening of access rights (especially FS_REFER) during renames that would otherwise be denied.
Why it matters to the business
Organizations running Landlock-sandboxed workloads on affected kernels risk unintended file-system access grants that bypass security policies, increasing the chance of data exposure or unauthorized changes inside containers; the issue affects common Chainguard Kyverno images and upstream Linux kernels still in wide use more than 300 days after publication.
How an attack unfolds
An attacker with the ability to create bind mounts and perform renames inside a Landlock domain first opens a disconnected directory through the bind mount, then triggers a rename operation that compares access rights collected from the hidden filesystem hierarchy rather than the mount point; because the collected rights may be broader than the policy intends, the rename succeeds when it should be blocked by LANDLOCK_ACCESS_FS_REFER.
How to fix it
Upgrade the Linux kernel to commit cadb28f8b3fd6908e3051e86158c65c3a8e1c907 or later; for Chainguard images update kyverno, kyverno-background-controller, kyverno-cleanup-controller, kyverno-cli, kyverno-init-container and kyverno-reports-controller to 1.11.5-r17 or newer.
How to confirm the fix worked
Verify the running kernel contains commit cadb28f8b3fd6908e3051e86158c65c3a8e1c907; confirm Chainguard package versions are at or above 1.11.5-r17; exercise Landlock policies that exercise bind-mount and rename operations with disconnected directories and ensure no unexpected access is granted.
Typical attack path
- Obtain write access to a bind-mount source and read access to the mount point inside the Landlock domain
- Open a file or directory that becomes disconnected after a rename or move on the underlying filesystem
- Perform a rename that widens the effective access rights relative to the destination
- Bypass the intended LANDLOCK_ACCESS_FS_REFER check because rights were collected from the wrong hierarchy
How to detect it
Search kernel audit logs and Landlock-related audit events for unexpected successful renames involving bind mounts; examine process trees that create bind mounts followed by renames inside sandboxed contexts; no public exploitation artifacts are known.
What your security team should do
- Patch kernels and Chainguard Kyverno images to the listed fixed versions as soon as possible
- Review existing Landlock policies for any reliance on bind-mount or rename behavior
- Add runtime kernel version checks to container deployment pipelines
- Monitor for future Landlock-related CVEs given the subsystem's ongoing hardening
The record
In the Linux kernel, the following vulnerability has been resolved: landlock: Fix handling of disconnected directories Disconnected files or directories can appear when they are visible and opened from a bind mount, but have been renamed or moved from the source of the bind mount in a way that makes them inaccessible from the mount point (i.e. out of scope). Previously, access rights tied to files or directories opened through a disconnected directory were collected by walking the related hierarchy down to the root of the filesystem, without taking into account the mount point because it couldn't be found. This could lead to inconsistent access results, potential access right widening, and hard-to-debug renames, especially since such paths cannot be printed. For a sandboxed task to create a disconnected directory, it needs to have write access (i.e. FS_MAKE_REG, FS_REMOVE_FILE, and FS_REFER) to the underlying source of the bind mount, and read access to the related mount point. Because a sandboxed task cannot acquire more access rights than those defined by its Landlock domain, this could lead to inconsistent access rights due to missing permissions that should be inherited from the mount point hierarchy, while inheriting permissions from the filesystem hierarchy hidden by this mount point instead. Landlock now handles files and directories opened from disconnected directories by taking into account the filesystem hierarchy when the mount point is not found in the hierarchy walk, and also always taking into account the mount point from which these disconnected directories were opened. This ensures that a rename is not allowed if it would widen access rights [1]. The rationale is that, even if disconnected hierarchies might not be visible or accessible to a sandboxed task, relying on the collected access rights from them improves the guarantee that access rights will not be widened during a rename because of the access right comparison between the source and the destination (see LANDLOCK_ACCESS_FS_REFER). It may look like this would grant more access on disconnected files and directories, but the security policies are always enforced for all the evaluated hierarchies. This new behavior should be less surprising to users and safer from an access control perspective. Remove a wrong WARN_ON_ONCE() canary in collect_domain_accesses() and fix the related comment. Because opened files have their access rights stored in the related file security properties, there is no impact for disconnected or unlinked files.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Linux | Kernel | 5.13.0 | 6.18.2 |
| openSUSE:Leap 16.0 | dtb-aarch64 | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-64kb | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-azure | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-default | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-default-base | 0 | 6.12.0-160000.9.1.160000.2.6 |
| openSUSE:Leap 16.0 | kernel-docs | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-kvmsmall | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-obs-build | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-obs-qa | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-rt | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-source | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-syms | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-zfcpdump | 0 | 6.12.0-160000.9.1 |
| openSUSE:Tumbleweed | kernel-source | 0 | 6.18.5-1.1 |
| openSUSE:Tumbleweed | kernel-source-longterm | 0 | 6.18.16-1.1 |
Related vulnerabilities
- CVE-2026-23226 In the Linux kernel, the following vulnerability has been resolved: ksmbd: add chann_lock… Also affects Kernel
- CVE-2026-23225 In the Linux kernel, the following vulnerability has been resolved: sched/mmcid: Don't… Also affects Kernel
- CVE-2026-23230 In the Linux kernel, the following vulnerability has been resolved: smb: client: split… Also affects Kernel
- CVE-2026-23224 In the Linux kernel, the following vulnerability has been resolved: erofs: fix UAF issue… Also affects Kernel
- CVE-2026-23227 In the Linux kernel, the following vulnerability has been resolved: drm/exynos: vidi: use… Also affects Kernel
- CVE-2026-23223 In the Linux kernel, the following vulnerability has been resolved: xfs: fix UAF in… Also affects Kernel
- CVE-2026-23228 In the Linux kernel, the following vulnerability has been resolved: smb: server: fix leak… Also affects Kernel
- CVE-2026-23229 In the Linux kernel, the following vulnerability has been resolved: crypto: virtio - Add… Also affects Kernel