Vulnerability advisory

CVE-2022-39261

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

Published Updated OSV record ↗

Also known as BIT-drupal-2022-39261DRUPAL-CORE-2022-016GHSA-52m2-vc4m-jj33

Severity
  • CVSS 3.xCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

Affected versions

Repository

Affected commitsFixed by commit
GIT github.com/drupal/drupal ↗
35c2f3ca5c935f3d8bde15932a712677c9bbd50f to before e637df2c3679a3eb768675681220e74a5ee51a18e637df2c3679a3eb768675681220e74a5ee51a18
970c1b5cfa946f683de326a3f252b5371a42186a to before 89d5167a40092f646c810b52ad7bde1f091ee73f89d5167a40092f646c810b52ad7bde1f091ee73f
GIT github.com/twigphp/twig ↗
2f106a80cc13b4260074e573fa017a770fe20350 to before 0887422319889e442458e48e2f3d9add1a172ad50887422319889e442458e48e2f3d9add1a172ad5
2a86dde1288d7270169083d0e078dc7ebe0f48b6 to before ab402673db8746cb3a4c46f3869d6253699f614aab402673db8746cb3a4c46f3869d6253699f614a
9b58bb8ac7a41d72fbb5a7dc643e07923e5ccc26 to before c38fd6b0b7f370c198db91ffd02e23b517426b58c38fd6b0b7f370c198db91ffd02e23b517426b58
Not specified35f3035c5deb0041da7b84daf02dea074ddc7a0b
Also listed as affected (233)
  • 9.3.21
  • 9.4.6
  • 9.4.5
  • 9.3.20
  • 9.4.4
  • 9.3.18
  • 9.4.2
  • 9.3.17
  • 9.4.1
  • 9.4.0
  • 9.3.15
  • 9.3.13
  • 9.3.11
  • 9.3.10
  • 9.3.7
  • 9.3.4
  • 9.3.2
  • 9.3.0
  • 9.3.0-rc1
  • 9.3.0-beta3
  • 9.3.0-beta2
  • 9.3.0-beta1
  • 9.3.0-alpha1
  • 9.0.0-alpha2
  • 9.0.0-alpha1
  • 8.1.0-beta1
  • 8.0.0
  • v1.44.6
  • v3.4.2
  • v2.15.2
  • v3.4.1
  • v2.15.1
  • v3.4.0
  • v2.15.0
  • v3.3.10
  • v2.14.13
  • v3.3.9
  • v2.14.12
  • v3.3.8
  • v2.14.11
  • v3.3.7
  • v2.14.10
  • v3.3.6
  • v3.3.5
  • v2.14.9
  • v3.3.4
  • v2.14.8
  • v3.3.3
  • v2.14.7
  • v1.44.5
  • v3.3.2
  • v2.14.6
  • v1.44.4
  • v3.3.1
  • v2.14.5
  • v1.44.3
  • v2.14.4
  • v3.3.0
  • v3.2.1
  • v2.14.3
  • v2.14.2
  • v1.44.2
  • v3.1.1
  • v2.14.1
  • v1.44.1
  • v3.1.0
  • v2.14.0
  • v1.44.0
  • v3.0.5
  • v2.13.1
  • v1.43.1
  • v3.0.4
  • v2.13.0
  • v1.43.0
  • v3.0.3
  • v2.12.5
  • v3.0.2
  • v2.12.4
  • v1.42.5
  • v3.0.1
  • v2.12.3
  • v3.0.0
  • v2.12.2
  • v1.42.4
  • v2.12.1
  • v2.12.0
  • v1.42.3
  • v2.11.3
  • v1.42.2
  • v2.11.2
  • v2.11.1
  • v1.42.1
  • v2.11.0
  • v1.42.0
  • v2.10.0
  • v1.41.0
  • v1.40.1
  • v2.9.0
  • v1.40.0
  • v2.8.1
  • v1.39.1
  • v2.8.0
  • v1.39.0
  • v2.7.4
  • v1.38.4
  • v2.7.3
  • v1.38.3
  • v1.38.2
  • v2.7.2
  • v2.7.1
  • v1.38.1
  • v2.7.0
  • v1.38.0
  • v2.6.2
  • v1.37.1
  • v2.6.1
  • v1.37.0
  • v2.6.0
  • v1.36.0
  • v2.5.0
  • v1.35.4
  • v2.4.8
  • v2.4.7
  • v1.35.3
  • v2.4.6
  • v1.35.2
  • v2.4.5
  • v1.35.1
  • v2.4.4
  • v1.35.0
  • v1.34.4
  • v2.4.3
  • v1.34.3
  • v2.4.2
  • v1.34.2
  • v2.4.1
  • v1.34.1
  • v2.4.0
  • v1.34.0
  • v2.3.2
  • v1.33.2
  • v2.3.1
  • v1.33.1
  • v2.3.0
  • v1.33.0
  • v2.2.0
  • v1.32.0
  • v2.1.0
  • v1.31.0
  • v2.0.0
  • v1.30.0
  • v1.29.0
  • v1.28.2
  • v1.28.1
  • v1.28.0
  • v1.27.0
  • v1.26.1
  • v1.26.0
  • v1.25.0
  • v1.24.2
  • v1.24.1
  • v1.24.0
  • v1.23.3
  • v1.23.2
  • v1.23.1
  • v1.23.0
  • v1.22.3
  • v1.22.2
  • v1.22.1
  • v1.22.0
  • v1.21.2
  • v1.21.1
  • v1.21.0
  • v1.20.0
  • v1.19.0
  • v1.18.2
  • v1.18.1
  • v1.18.0
  • v1.17.0
  • v1.16.3
  • v1.16.2
  • v1.16.1
  • v1.16.0
  • v1.15.1
  • v1.15.0
  • v1.14.2
  • v1.14.1
  • v1.14.0
  • v1.13.2
  • v1.13.1
  • v1.13.0
  • v1.12.3
  • v1.12.2
  • v1.12.1
  • v1.12.0
  • v1.12.0-RC1
  • v1.11.1
  • v1.11.0
  • v1.10.3
  • v1.10.2
  • v1.10.1
  • v1.10.0
  • v1.9.2
  • v1.9.1
  • v1.9.0
  • v1.8.3
  • v1.8.2
  • v1.8.1
  • v1.8.0
  • v1.7.0
  • v1.6.4
  • v1.6.3
  • v1.6.2
  • v1.6.1
  • v1.5.1
  • v1.6.0
  • v1.5.0
  • v1.5.0-RC2
  • v1.5.0-RC1
  • v1.4.0
  • v1.4.0-RC2
  • v1.4.0-RC1
  • v1.3.0
  • v1.3.0-RC1
  • v1.2.0
  • v1.2.0-RC1
  • v1.1.2
  • v1.1.1
  • v1.1.0
  • v1.1.0-RC3
  • v1.1.0-RC2
  • v1.1.0-RC1
  • v1.0.0

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.

References

  • Codex
  • Claude Code
  • VS Code
  • GitHub Copilot
  • Cursor
  • Cline
  • Windsurf
  • Google Anti-gravity
  • OpenCode
  • Pi
  • Gemini CLI
  • Hermes Agent
  • Zed
  • Junie
  • Qwen Code
  • Kiro
  • Kilo Code
  • Factory Droid

Set up GitHits for your agents

Run this command:

<> bash
npx githits@latest init

What happens next:

  1. Opens your browser to authorize GitHits
  2. Asks whether to set up GitHits at the user or project level
  3. Detects your supported AI coding tools
  4. Lets you choose which tools to configure
  5. Configures the selected tools