{"id":"CVE-2026-72783","aliases":["GHSA-7hxc-f267-h5q7"],"url":"https://o3.security/vulnerability/CVE-2026-72783","summary":"Craft CMS 5.0.0-RC1 before 5.10.6 Path Traversal via ensurePathIsContained","details":"The `ensurePathIsContained` function of the `Local` file system class is theoretically vulnerable to path traversal, although no exploitable scenario has been discovered.\n\nWhen a file is read, an `Asset` object uses the `getFileStream` method of the `Volume` where the asset file is stored, which in turn uses the `getFileStream` method of the file system class used by that `Volume`. For the `Local` file system, this function returns a stream to a file on the local disk after verifying and creating the correct file path.\n\nThe file path is constructed by first validating the path and then adding a prefix to the validated and normalized path. The prefix is the path to the local directory that houses the particular volume. The order of operations matters here: first, a validation step, afterward a normalization step, and finally the construction of the resulting file path. This opens the possibility of a desanitization-style vulnerability, where the normalization invalidates the assumptions made by the validation or sanitization that preceded it.\n\n## Impact\n\nThe issue is not directly exploitable, but for hardening, a fix is recommended regardless.","published":"2026-08-11T12:17:17.772Z","modified":"2026-10-10T02:30:59.649131447Z","cvss":null,"epss":{"score":0.00148,"percentile":0.04375,"asOf":"2026-09-17"},"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"Packagist","name":"craftcms/cms","fixedVersion":"5.10.6"},{"ecosystem":"Packagist","name":"craftcms/cms","fixedVersion":"4.18.2"}],"fix":{"url":"https://github.com/craftcms/cms/commit/a8425b6c707335e42c35ee2aaf03af50ea4a494d","label":"craftcms/cms@a8425b6"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/72xxx/CVE-2026-72783.json"},{"type":"ADVISORY","url":"https://github.com/craftcms/cms/security/advisories/GHSA-7hxc-f267-h5q7"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-72783"},{"type":"ADVISORY","url":"https://www.vulncheck.com/advisories/craft-cms-rc1-before-path-traversal-via-ensurepathiscontained"},{"type":"WEB","url":"https://github.com/craftcms/cms/commit/a8425b6c707335e42c35ee2aaf03af50ea4a494d"},{"type":"WEB","url":"https://github.com/craftcms/cms/commit/bd6b9c175b4892e042e8a03760c39b0e94c4c7d6"},{"type":"PACKAGE","url":"https://github.com/craftcms/cms"},{"type":"WEB","url":"https://github.com/craftcms/cms/releases/tag/4.18.2"},{"type":"WEB","url":"https://github.com/craftcms/cms/releases/tag/5.10.6"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-10-10T02:30:59.649131447Z"}}