Cloudanix VulnDB

CVE-2025-68736

None

CVSS

—

EPSS

0.1%

Published

Dec 24, 2025

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

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

  1. Obtain write access to a bind-mount source and read access to the mount point inside the Landlock domain
  2. Open a file or directory that becomes disconnected after a rename or move on the underlying filesystem
  3. Perform a rename that widens the effective access rights relative to the destination
  4. 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