CVE-2026-64317

HighCVSS 7.1/10Last modified Nov 10, 2026

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.

Metrics

CVSS 3.1 7.1/10CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H

Weakness enumeration

Affected software

VendorProductVersions
LinuxLinux>= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, < 1015e1c4b2fadd9c09704e24738e46598778c869; >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, < 36fe7d25dbc40da0c6b1dd4513a4f69ac6164eee; >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, < a22cb6bb54dc167047ea9e70d97dfbc2c15649e3; >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, < b736b12108fd116c41777628f5a333791604df26; >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, < 6bf41db09ef935d76fcc84ccf213b42c18de95ee; >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, < b5699642640d6cff357638738c5293985cd5a53d; >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, < 9830725078c8483c6831ec10222ae724806ea36b; >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, < 5fa1d6a5ec2356d2107dead614437c66fa7138b1
LinuxLinux2.6.12
SiemensSIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0)>= V3.1.6, < *
SiemensSIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0)>= V3.1.7, < *
SiemensSIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0)>= V3.1.6, < *
SiemensSIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0)>= V3.1.7, < *
SiemensSIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0)>= V3.1.6, < *
SiemensSIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0)>= V3.1.7, < *
SiemensSIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0)>= V3.1.6, < *
SiemensSIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0)>= V3.1.7, < *
SiemensSIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0)>= V3.1.6, < *
SiemensSIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0)>= V3.1.7, < *

References

Timeline

Published
Jul 25, 2026
Last modified
Nov 10, 2026
NVD status
Modified

Related CVEs from 2026

CVE-2026-643187.1In the Linux kernel, the following vulnerability has been resolved: partitions: aix: bound the pp_count scan to the ppe array aix_partitioCVE-2026-643199.1In the Linux kernel, the following vulnerability has been resolved: nvmet-auth: validate reply message payload bounds against transfer lengCVE-2026-64325.3Improper bounds validation in the ZAP command parser of EmberZNet SDK versions 8.0.0 through 9.1.1 (inclusive) and before 7.5.2 (exclusive) CVE-2026-643209.1In the Linux kernel, the following vulnerability has been resolved: nvmet: fix pre-auth out-of-bounds heap read in Discovery Get Log Page CVE-2026-643215.5In the Linux kernel, the following vulnerability has been resolved: nvme: target: rdma: fix ndev refcount leak on queue connect nvmet_rdmaCVE-2026-643227.8In the Linux kernel, the following vulnerability has been resolved: udf: validate sparing table length as an entry count, not a byte count CVE-2026-643237.1In the Linux kernel, the following vulnerability has been resolved: udf: validate VAT header length against the VAT inode size udf_load_vaCVE-2026-643247.8In the Linux kernel, the following vulnerability has been resolved: udf: validate free block extents against the partition length udf_freeCVE-2026-643255.5In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: mt7921/mt7925: fix NULL dereference in CSA beacon This patCVE-2026-643265.5In the Linux kernel, the following vulnerability has been resolved: block: skip sync_blockdev() on surprise removal in bdev_mark_dead() bdCVE-2026-643275.5In the Linux kernel, the following vulnerability has been resolved: usb: gadget: f_fs: Initialize epfile->in early to fix endpoint directioCVE-2026-643285.5In the Linux kernel, the following vulnerability has been resolved: usb: gadget: f_fs: Fix DMA fence leak In ffs_dmabuf_transfer(), a ffs_
CVE-2026-64317: High severity, CVSS 7.1 | Vulnix