VYPR
High severityNVD Advisory· Published Sep 28, 2022· Updated Apr 23, 2025

Twig may load a template outside a configured directory when using the filesystem loader

CVE-2022-39261

Description

Twig is a template language for PHP. Versions 1.x prior to 1.44.7, 2.x prior to 2.15.3, and 3.x prior to 3.4.3 encounter an issue when the filesystem loader loads templates for which the name is a user input. It is possible to use the source or include statement to read arbitrary files from outside the templates' directory when using a namespace like @somewhere/../some.file. In such a case, validation is bypassed. Versions 1.44.7, 2.15.3, and 3.4.3 contain a fix for validation of such template names. There are no known workarounds aside from upgrading.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

CVE-2022-39261 allows path traversal in Twig's filesystem loader, enabling arbitrary file read via template names with namespace traversal.

Vulnerability

CVE-2022-39261 is a path traversal vulnerability in the Twig template engine for PHP, affecting versions 1.x before 1.44.7, 2.x before 2.15.3, and 3.x before 3.4.3. When the filesystem loader processes template names supplied as user input, validation of template paths is insufficient. An attacker can use a namespace syntax such as @somewhere/../some.file to bypass directory restrictions and read arbitrary files outside the intended templates directory [1][4].

Exploitation

The attack requires that the application passes untrusted user input directly as the template name to the filesystem loader. This can occur through source or include statements in Twig templates. The attacker does not need authentication if the application exposes template loading to unauthenticated users, although many deployments require some level of access to write or influence template names [1]. The vulnerability is particularly relevant in content management systems like Drupal, where administrative users with permission to write Twig code can trigger the path traversal [3].

Impact

Successful exploitation allows an attacker to read arbitrary files on the server, such as configuration files, source code, or database credentials. This information disclosure can lead to further compromise of the application or underlying system. The vulnerability is rated high severity due to the potential for sensitive data exposure [1][4].

Mitigation

Twig has released fixed versions: 1.44.7, 2.15.3, and 3.4.3 [1][4]. Drupal core users should update to Drupal 9.3.22 or 9.4.7, as Drupal uses Twig and issued a related security advisory (SA-CORE-2022-016) [3]. No workarounds exist other than upgrading. Users of the unsupported 1.x branch should upgrade to the patched 1.44.7 release [2].

AI Insight generated on May 21, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.

Affected packages

Versions sourced from the GitHub Security Advisory.

PackageAffected versionsPatched versions
twig/twigPackagist
>= 1.0.0, < 1.44.71.44.7
twig/twigPackagist
>= 2.0.0, < 2.15.32.15.3
twig/twigPackagist
>= 3.0.0, < 3.4.33.4.3

Affected products

3

Patches

0

No patches discovered yet.

Vulnerability mechanics

AI mechanics synthesis has not run for this CVE yet.

References

21

News mentions

0

No linked articles in our index yet.