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

isofs: bound Rock Ridge symlink components to the SL record

get_symlink_chunk() and the SL handling in
parse_rock_ridge_inode_internal() walk the variable-length components of
a Rock Ridge "SL" (symbolic link) record. Each component is a two-byte
header (flags, len) followed by len bytes of text, so it occupies
slp->len + 2 bytes. Both loops read slp->len and advance to the next
component, and get_symlink_chunk() additionally does
memcpy(rpnt, slp->text, slp->len), but neither checks that the component
lies within the SL record before dereferencing it.

A crafted SL record whose component declares a len that runs past the
record (rr->len) therefore triggers an out-of-bounds read of up to 255
bytes. When the record sits at the tail of its backing buffer - for
example a small kmalloc()ed continuation block reached through a CE
record - the read crosses the allocation; get_symlink_chunk() then
copies the out-of-bounds bytes into the symlink body returned to user
space by readlink(), disclosing adjacent kernel memory.

ISO 9660 images are routinely mounted from untrusted removable media -
desktop environments auto-mount them (e.g. via udisks2) without
CAP_SYS_ADMIN - so the record contents are attacker-controlled.

Reject any component that does not fit in the remaining record bytes
before using it. In get_symlink_chunk() return NULL, like the existing
output-buffer (plimit) checks, so a malformed record makes readlink()
fail with -EIO rather than silently returning a truncated target; in
parse_rock_ridge_inode_internal() stop the inode-size walk.
Published: 2026-07-25
Score: 7.1 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The isofs subsystem incorrectly processes Rock Ridge symbolic‑link (SL) records: the code that walks the variable‑length components of an SL record refuses to check that each component’s length is contained within the record bounds. A malicious SL can therefore include a component whose length goes past the end of the record. This causes an out‑of‑bounds read of up to 255 bytes, which get_symlink_chunk() copies into the buffer that is later returned to user space by readlink(). The result is that a normal readlink() on a symlink created from such an SL record will leak a block of kernel memory to the calling process, providing an information disclosure channel that does not require elevated privileges. The flaw is independent of the user’s permissions; any process that can mount an ISO image containing a malicious SL record can trigger the disclosure.

Affected Systems

All Linux kernel releases that include the isofs filesystem module before the change that adds bounds checking to SL component handling are affected. The vulnerability manifests when a user mounts an ISO 9660 image that contains a malformed Rock Ridge SL record. The exact affected kernel versions are not specified in the report, so any installation of the Linux kernel that does not contain the supporting commit is potentially vulnerable. The advisory includes links to the kernel commit that implements the fix, but no explicit version matrix is provided.

Risk and Exploitability

The CVSS score of 7.1 classifies this issue as a high‑severity vulnerability, while the EPSS score is less than 1 %, indicating a low probability of exploitation at the time of analysis. The vulnerability is not listed in the CISA KEV catalog. Despite the low EPSS, the flaw is trivially exploitable on systems that automatically mount removable media (e.g., via udisks2), which is common in desktop Linux distributions. The attacker only needs to supply a crafted ISO image and subsequently call readlink() on a symlink derived from that image; no kernel privileges or CAP_SYS_ADMIN are required, making the local attack vector broadly available to any user who can mount removable media.

Generated by OpenCVE AI on August 3, 2026 at 19:17 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply a Linux kernel update that incorporates the commit adding bounds checks for Rock Ridge SL records
  • If a kernel upgrade is not immediately possible, disable or restrict automatic mounting of ISO 9660 images in the environment, ensuring that only trusted users or processes mount removable media
  • Limit or revoke readlink permissions on directories that may contain symlinks originating from ISO mounts, or configure the filesystem to return an error for malformed symlinks

Generated by OpenCVE AI on August 3, 2026 at 19:17 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4717-1 linux security update
Debian DLA Debian DLA DLA-4720-1 linux security update
Debian DLA Debian DLA DLA-4723-1 linux-6.1 security update
Debian DLA Debian DLA DLA-4724-1 linux-6.12 new package
History

Sun, 02 Aug 2026 13:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119
CWE-200

Thu, 30 Jul 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-125
References
Metrics threat_severity

None

threat_severity

Moderate


Mon, 27 Jul 2026 05:15:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7.1, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H'}


Sun, 26 Jul 2026 02:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119
CWE-200

Sat, 25 Jul 2026 09:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: isofs: bound Rock Ridge symlink components to the SL record get_symlink_chunk() and the SL handling in parse_rock_ridge_inode_internal() walk the variable-length components of a Rock Ridge "SL" (symbolic link) record. Each component is a two-byte header (flags, len) followed by len bytes of text, so it occupies slp->len + 2 bytes. Both loops read slp->len and advance to the next component, and get_symlink_chunk() additionally does memcpy(rpnt, slp->text, slp->len), but neither checks that the component lies within the SL record before dereferencing it. A crafted SL record whose component declares a len that runs past the record (rr->len) therefore triggers an out-of-bounds read of up to 255 bytes. When the record sits at the tail of its backing buffer - for example a small kmalloc()ed continuation block reached through a CE record - the read crosses the allocation; get_symlink_chunk() then copies the out-of-bounds bytes into the symlink body returned to user space by readlink(), disclosing adjacent kernel memory. ISO 9660 images are routinely mounted from untrusted removable media - desktop environments auto-mount them (e.g. via udisks2) without CAP_SYS_ADMIN - so the record contents are attacker-controlled. Reject any component that does not fit in the remaining record bytes before using it. In get_symlink_chunk() return NULL, like the existing output-buffer (plimit) checks, so a malformed record makes readlink() fail with -EIO rather than silently returning a truncated target; in parse_rock_ridge_inode_internal() stop the inode-size walk.
Title isofs: bound Rock Ridge symlink components to the SL record
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-05T12:40:54.676Z

Reserved: 2026-07-19T15:36:31.779Z

Link: CVE-2026-64317

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-07-25T10:17:13.010

Modified: 2026-08-11T15:00:57.447

Link: CVE-2026-64317

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-07-25T00:00:00Z

Links: CVE-2026-64317 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-03T19:30:04Z

Weaknesses