CVE-2026-46303
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
08/06/2026
Last modified:
08/07/2026
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
isofs: validate Rock Ridge CE continuation extent against volume size<br />
<br />
rock_continue() reads rs->cont_extent verbatim from the Rock Ridge CE<br />
record and passes it to sb_bread() without checking that the block<br />
number is within the mounted ISO 9660 volume. commit e595447e177b<br />
("[PATCH] rock.c: handle corrupted directories") added cont_offset<br />
and cont_size rejection for the CE continuation but did not validate<br />
the extent block number itself. commit f54e18f1b831 ("isofs: Fix<br />
infinite looping over CE entries") later capped the CE chain length<br />
at RR_MAX_CE_ENTRIES = 32 but again left the block number unchecked.<br />
<br />
With a crafted ISO mounted via udisks2 (desktop optical auto-mount)<br />
or via CAP_SYS_ADMIN mount, rs->cont_extent can therefore point at<br />
an out-of-range block or at blocks belonging to an adjacent<br />
filesystem on the same block device. sb_bread() on an out-of-range<br />
block returns NULL cleanly via the block layer EIO path, so there<br />
is no memory-safety violation. For in-range reads of adjacent-<br />
filesystem data, the CE buffer is parsed as Rock Ridge records and<br />
only the text of SL sub-records reaches userspace through<br />
readlink(), which makes the info-leak channel narrow and difficult<br />
to exploit; still, rejecting the malformed CE outright matches the<br />
rejection shape already present in the same function for<br />
cont_offset and cont_size.<br />
<br />
Add an ISOFS_SB(sb)->s_nzones bounds check to rock_continue() next<br />
to the existing offset/size rejection, printing the same<br />
corrupted-directory-entry notice.
Impact
Base Score 3.x
8.20
Severity 3.x
HIGH
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 2.6.32.66 (including) | 2.6.33 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 3.2.67 (including) | 3.3 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 3.4.107 (including) | 3.5 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 3.10.64 (including) | 3.11 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 3.12.36 (including) | 3.13 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 3.14.28 (including) | 3.15 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 3.17.8 (including) | 3.18 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 3.18.2 (including) | 5.10.258 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (including) | 5.15.209 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 6.1.175 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.6.140 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.12.88 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 (including) | 6.18.30 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.19 (including) | 7.0.7 (excluding) |
| cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/22b36fa081f38ab397c7697f9d539211b51a0cfc
- https://git.kernel.org/stable/c/8356fb821016797f5677cbeee5ddc0d32a95b4be
- https://git.kernel.org/stable/c/a36d990f591320e9dd379ab30063ebfe91d47e1f
- https://git.kernel.org/stable/c/bf1bc673c587f5ef7e9c09b94aea7c5a7847d4d9
- https://git.kernel.org/stable/c/c9b37c8b73f6368e4750e5ccb0632c380b43c6e5
- https://git.kernel.org/stable/c/d582e12378bc1637f337622feef762f53c43fd57
- https://git.kernel.org/stable/c/e69da8eeab74b4f4505024c38a17bce060fe7df8
- https://git.kernel.org/stable/c/ef048470c90bc8c1b8318bb2ce329da9ef64b9fe



