Skip to main content
← All vulnerabilities
CVE-2025-55214PYSEC-2026-1273GHSA-P7Q8-GRRJ-3M8W

Copier safe template has filesystem write access outside destination path

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 9.9.1
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: partial

Summary

Copier library and CLI app for rendering project templates. From 7.1.0 to before 9.9.1, Copier suggests that it's safe to generate a project from a safe template, i.e. one that doesn't use unsafe features like custom Jinja extensions which would require passing the --UNSAFE,--trust flag. As it turns out, a safe template can currently write files outside the destination path where a project shall be generated or updated. This is possible when rendering a generated directory structure whose rendered path is either a relative parent path or an absolute path. Constructing such paths is possible using Copier's builtin pathjoin Jinja filter and its builtin _copier_conf.sep variable, which is the platform-native path separator. This way, a malicious template author can create a template that overwrites arbitrary files (according to the user's write permissions), e.g., to cause havoc. This vulnerability is fixed in 9.9.1.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • copier-org copier

    From 7.1.0 · fixed in 9.9.1

  • copierPyPI

    From 7.1.0 · fixed in 9.9.1

References 2

GitHub · copier-org/copier