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).
We fixed validation for such template names.
Even if the 1.x branch is not maintained anymore, a new version has been released.
We would like to thank Dariusz Tytko for reporting the issue and Fabien Potencier for fixing the issue.
| Score | Percentile |
|---|---|
| 9.50% | 92.77% |
| Base score | Version | Severity | Vector |
|---|---|---|---|
| 7.5 | 3.1 | — |
|
| Type | Value |
|---|---|
| GHSA | GHSA-52m2-vc4m-jj33 ↗ |
| CVE | CVE-2022-39261 ↗ |
| CWE id | Name |
|---|---|
| CWE-22 | Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') |
Vulnerable version ranges and first patched releases as published by GitHub.
| Ecosystem | Package | Vulnerable range | First patched | Vulnerable functions |
|---|---|---|---|---|
| composer | twig/twig | >= 1.0.0, < 1.44.7 | 1.44.7 | — |
| composer | twig/twig | >= 2.0.0, < 2.15.3 | 2.15.3 | — |
| composer | twig/twig | >= 3.0.0, < 3.4.3 | 3.4.3 | — |