CVE-2026-46303
isofs: validate Rock Ridge CE continuation extent against volume size
In the Linux kernel, the following vulnerability has been resolved: isofs: validate Rock Ridge CE continuation extent against volume size rock_continue() reads rs->cont_extent verbatim from the Rock Ridge CE record and passes it to sb_bread() without checking that the block number is within the mounted ISO 9660 volume. commit e595447e177b ("[PATCH] rock.c: handle corrupted directories") added cont_offset and cont_size rejection for the CE continuation but did not validate the extent block number itself. commit f54e18f1b831 ("isofs: Fix infinite looping over CE entries") later capped the CE chain length at RR_MAX_CE_ENTRIES = 32 but again left the block number unchecked. With a crafted ISO mounted via udisks2 (desktop optical auto-mount) or via CAP_SYS_ADMIN mount, rs->cont_extent can therefore point at an out-of-range block or at blocks belonging to an adjacent filesystem on the same block device. sb_bread() on an out-of-range block returns NULL cleanly via the block layer EIO path, so there is no memory-safety violation. For in-range reads of adjacent- filesystem data, the CE buffer is parsed as Rock Ridge records and only the text of SL sub-records reaches userspace through readlink(), which makes the info-leak channel narrow and difficult to exploit; still, rejecting the malformed CE outright matches the rejection shape already present in the same function for cont_offset and cont_size. Add an ISOFS_SB(sb)->s_nzones bounds check to rock_continue() next to the existing offset/size rejection, printing the same corrupted-directory-entry notice.
Fixes and workarounds
No remediation reported in collected sources.
Missing remediation information is not evidence that no patch exists.
Affected products and versions
| Product | Versions | Authority |
|---|---|---|
| Linux Linux |
≥ f54e18f1b831c92f6512d2eedb224cd63d607d3d; < 8356fb821016797f5677cbeee5ddc0d32a95b4be (affected, git) ≥ f54e18f1b831c92f6512d2eedb224cd63d607d3d; < d582e12378bc1637f337622feef762f53c43fd57 (affected, git) ≥ f54e18f1b831c92f6512d2eedb224cd63d607d3d; < bf1bc673c587f5ef7e9c09b94aea7c5a7847d4d9 (affected, git) ≥ f54e18f1b831c92f6512d2eedb224cd63d607d3d; < c9b37c8b73f6368e4750e5ccb0632c380b43c6e5 (affected, git) ≥ f54e18f1b831c92f6512d2eedb224cd63d607d3d; < 22b36fa081f38ab397c7697f9d539211b51a0cfc (affected, git) ≥ f54e18f1b831c92f6512d2eedb224cd63d607d3d; < e69da8eeab74b4f4505024c38a17bce060fe7df8 (affected, git) ≥ f54e18f1b831c92f6512d2eedb224cd63d607d3d; < ef048470c90bc8c1b8318bb2ce329da9ef64b9fe (affected, git) ≥ f54e18f1b831c92f6512d2eedb224cd63d607d3d; < a36d990f591320e9dd379ab30063ebfe91d47e1f (affected, git) 08313e26e06d4aa9ce1cbba1a8e359e9cab9ad56 (affected, git) 212c4d33ca83e2144064fe9c2911607fbed5386f (affected, git) 96e44adce250199ec9b2b928be66365779ff1b59 (affected, git) 1fe5620fcd6c2f0a4a927ee10c8e53196da392f3 (affected, git) fbce0d7dc8965c9fb8d411862040239d4a768c71 (affected, git) 8190393a88f2b0321263a54f2a9eb5a2aa43be7e (affected, git) 486aa789eadcf44ed87f972b209299c516454693 (affected, git) b6d20edb6e7cedb4eedb9e0193d20dd488ebae84 (affected, git) ≥ 2.6.32.66; < 2.6.33 (affected, semver) ≥ 3.2.67; < 3.3 (affected, semver) ≥ 3.4.107; < 3.5 (affected, semver) ≥ 3.10.64; < 3.11 (affected, semver) ≥ 3.12.36; < 3.13 (affected, semver) ≥ 3.14.28; < 3.15 (affected, semver) ≥ 3.17.8; < 3.18 (affected, semver) ≥ 3.18.2; < 3.19 (affected, semver) Other versions: unaffected |
CNA: Linux |
| Linux Linux |
3.19 (affected) ≥ 0; < 3.19 (unaffected, semver) ≥ 5.10.258; ≤ 5.10.* (unaffected, semver) ≥ 5.15.209; ≤ 5.15.* (unaffected, semver) ≥ 6.1.175; ≤ 6.1.* (unaffected, semver) ≥ 6.6.140; ≤ 6.6.* (unaffected, semver) ≥ 6.12.88; ≤ 6.12.* (unaffected, semver) ≥ 6.18.30; ≤ 6.18.* (unaffected, semver) ≥ 7.0.7; ≤ 7.0.* (unaffected, semver) ≥ 7.1; ≤ * (unaffected, original_commit_for_fix) Other versions: affected |
CNA: Linux |
| SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) Siemens |
≥ V3.1.6; < * (affected, custom)
Other versions: unknown |
ADP: siemens-SADP |
| SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) Siemens |
≥ V3.1.7; < * (affected, custom)
Other versions: unknown |
ADP: siemens-SADP |
| SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) Siemens |
≥ V3.1.6; < * (affected, custom)
Other versions: unknown |
ADP: siemens-SADP |
| SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) Siemens |
≥ V3.1.7; < * (affected, custom)
Other versions: unknown |
ADP: siemens-SADP |
| SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) Siemens |
≥ V3.1.6; < * (affected, custom)
Other versions: unknown |
ADP: siemens-SADP |
| SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) Siemens |
≥ V3.1.7; < * (affected, custom)
Other versions: unknown |
ADP: siemens-SADP |
| SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) Siemens |
≥ V3.1.6; < * (affected, custom)
Other versions: unknown |
ADP: siemens-SADP |
| SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) Siemens |
≥ V3.1.7; < * (affected, custom)
Other versions: unknown |
ADP: siemens-SADP |
| SIMATIC S7-1500 TM MFP - GNU/Linux subsystem Siemens |
≥ 0; < * (affected, custom)
Other versions: unknown |
ADP: siemens-SADP |
| SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) Siemens |
≥ V3.1.6; < * (affected, custom)
Other versions: unknown |
ADP: siemens-SADP |
| SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) Siemens |
≥ V3.1.7; < * (affected, custom)
Other versions: unknown |
ADP: siemens-SADP |
Version ranges are source assertions. Check the vendor advisory and your installed configuration before determining exposure.
CVSS assessments
| Version / score | Vector | Authority |
|---|---|---|
| 3.1 / 8.2 high |
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N | CNA: Linux |
Exploit evidence
No exploit evidence in collected sources. This is not proof of no exploitation.
References
- https://git.kernel.org/stable/c/8356fb821016797f5677cbeee5ddc0d32a95b4beCNA: Linux
- https://git.kernel.org/stable/c/d582e12378bc1637f337622feef762f53c43fd57CNA: Linux
- https://git.kernel.org/stable/c/bf1bc673c587f5ef7e9c09b94aea7c5a7847d4d9CNA: Linux
- https://git.kernel.org/stable/c/c9b37c8b73f6368e4750e5ccb0632c380b43c6e5CNA: Linux
- https://git.kernel.org/stable/c/22b36fa081f38ab397c7697f9d539211b51a0cfcCNA: Linux
- https://git.kernel.org/stable/c/e69da8eeab74b4f4505024c38a17bce060fe7df8CNA: Linux
- https://git.kernel.org/stable/c/ef048470c90bc8c1b8318bb2ce329da9ef64b9feCNA: Linux
- https://git.kernel.org/stable/c/a36d990f591320e9dd379ab30063ebfe91d47e1fCNA: Linux
- https://cert-portal.siemens.com/productcert/html/ssa-019113.htmlADP: siemens-SADP
- https://cert-portal.siemens.com/productcert/html/ssa-457936.htmlADP: siemens-SADP
- https://cert-portal.siemens.com/productcert/html/ssa-784472.htmlADP: siemens-SADP
For agents and automation
Read public disclosures for free as Markdown or JSON. Compatible browsers also expose native WebMCP tools to search disclosures, read this page, and discover API access.
Use the ontology-linked Cyber API with x402 pay per request, or a Y2 Pro or Elite API key with the intel:cyber scope.
Endpoints and access details
https://api.y2.dev/api/v2/cyber/cveshttps://api.y2.dev/api/v2/cyber/cves/{cveId}
A workspace owner or admin can create a Pro or Elite API key. Send Authorization: Bearer <Y2_API_KEY> from your trusted agent runtime.
For x402, omit Authorization and read the HTTP 402 payment challenge before signing a retry. Public browser tools do not make payments.