Skip to content

Possibility to load a template outside a configured directory when using the filesystem loader

High
fabpot published GHSA-52m2-vc4m-jj33 Sep 28, 2022

Package

composer twig/twig (Composer)

Affected versions

>1.0.0,<1.44.7 || >2.0.0,<2.15.3 || >3.0.0,<3.4.3

Patched versions

1.44.7,2.15.3,3.4.3

Description

Description

When using the filesystem loader to load 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).

Resolution

We fixed validation for such template names.

Even if the 1.x branch is not maintained anymore, a new version has been released.

Credits

We would like to thank Dariusz Tytko for reporting the issue and Fabien Potencier for fixing the issue.

Severity

High

CVE ID

CVE-2022-39261

Weaknesses

No CWEs