GitHub Advisoryadvisory · Packagist

GHSA-7hxc-f267-h5q7 Craft CMS: Incorrect path validation could potentially lead to path traversal

LOW Published 2026-08-06 Modified 2026-09-01 Official page ↗
Aliases
CVE-2026-72783
Ecosystem
Packagist
Packages
craftcms/cms
Severity
Low
CVSS vector
CVSS:4.0/AV:N/AC:H/AT:P/PR:H/UI:N/VC:N/VI:N/VA:N/SC:L/SI:N/SA:N
Weaknesses
CWE-22
Reviewed
2026-08-06

Affected packages

• Packagist craftcms/cms: >= 5.0.0-RC1, < 5.10.6 → fixed in 5.10.6 • Packagist craftcms/cms: >= 4.0.0-RC1, < 4.18.2 → fixed in 4.18.2

Description

The `ensurePathIsContained` function of the `Local` file system class is theoretically vulnerable to path traversal, although no exploitable scenario has been discovered. When 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. The 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. Impact The issue is not directly exploitable, but for hardening, a fix is recommended regardless.

Related

Alias · CVE (1)

  • CVE-2026-72783 Craft CMS versions >= 5.0.0-RC1 before 5.10.6 and >= 4.0.0-RC1 before 4.18.2 contain a theoretical path traversal weakness in the… vulnerability

Weakness · CWE (1)

  • CWE-22 Improper Limitation of a Pathname to a Restricted Directory weakness

References