Read the docs
TI-2025-34889 Aliases CVE-2025-55214GHSA-p7q8-grrj-3m8w

Copier safe template has filesystem write access outside destination path

Priority MEDIUM 64CWE-22Published · Updated

Key facts

Attack vector
Local
Privileges required
None
User interaction
Passive
Attack complexity
Low
Attack requirements
None
Impact type
—
Confidentiality · integrity · availability
None · High · High
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub.

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.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00264 18th percentileScored 2026-11-07
Fix Fixed copier (copier-org): 9.9.1copier (PyPI): 9.9.1

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
copier-orgcopier7.1.0 to before 9.9.19.9.1Patch availableCNA
—copier (PyPI)7.1.0 to before 9.9.19.9.1Patch availableGHSA-p7q8-grrj-3m8w
  • copier Vendorcopier-org Affected 7.1.0 to before 9.9.1 Fixed in 9.9.1 Patch available CNA
  • copier (PyPI) Vendor— Affected 7.1.0 to before 9.9.1 Fixed in 9.9.1 Patch available GHSA-p7q8-grrj-3m8w

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:copier-org:copier:*:*:*:*:*:*:*:*——copier-org
  • cpe:2.3:a:copier-org:copier:*:*:*:*:*:*:*:* Versions — — ·copier-org

Remediation

  • Fix · CNA copier (copier-org) Fixed in 9.9.1
  • Fix · GHSA-p7q8-grrj-3m8w copier (PyPI) Fixed in 9.9.1 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2025-55214
  2. 2026-10-03 Alias added: GHSA-p7q8-grrj-3m8w

References

  • TI-2026-38919 Copier: trust-prefix bypass via path traversal runs tasks unprompted CVSS 4.0HIGH 8.8
  • TI-2025-34877 Copier safe template has arbitrary filesystem read/write access CVSS 4.0HIGH 8.5
  • TI-2026-45000 Path traversal in copier-org copier CVSS 3.1HIGH 7.5
  • TI-2026-26974 Copier `_external_data` allows path traversal and absolute-path local file read without unsafe mode CVSS 3.1MEDIUM 5.5
  • TI-2026-26970 Copier `_subdirectory` allows template root escape via parent-directory traversal CVSS 3.1MEDIUM 4.4
  • TI-2026-19328 Copier safe template has arbitrary filesystem write access via directory symlinks when _preserve_symlinks: true CVSS 4.0MEDIUM 6.9
See all 7 →

Sources