CVE-2026-23968 Copier safe template has arbitrary filesystem read access via symlinks when _preserve_symlinks: false
Attackers can read arbitrary files outside the template directory via symlinks in safe templates, affecting users of the Copier library.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Local or same network only
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-23968?
CVE-2026-23968 is a medium-severity path traversal vulnerability in copier-org copier, published on 21 Jan 2026. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.
Official description
Copier is a library and CLI app for rendering project templates. Prior to version 9.11.2, 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 include arbitrary files/directories outside the local template clone location by using symlinks along with `_preserve_symlinks: false` (which is Copier's default setting). Version 9.11.2 patches the issue.
Weakness: CWE-61
Which versions are affected by CVE-2026-23968?
3 open source packages ship an affected version, including copier. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
copier PyPI | All versions | 9.11.2 |
copier PyPI | All versions | 9.11.2 |
copier PyPI | All versions | 9.11.2 |
Products include Copier-Org Copier.
How do I fix CVE-2026-23968?
Upgrade copier to 9.11.2 or later.
Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.
Is CVE-2026-23968 being exploited?
There is no known exploitation of CVE-2026-23968 in the wild and no public exploit code.
Other vulnerabilities in copier-org copier
- CVE-2026-23986 Copier safe template has arbitrary filesystem write access via directory symlinks when _preserve_symlinks: true
- CVE-2026-34730 Copier `_external_data` allows path traversal and absolute-path local file read without unsafe mode
- CVE-2026-34726 Copier `_subdirectory` allows template root escape via parent-directory traversal
Sources
Also known as GHSA-xjhm-gp88-8pfx, PYSEC-2026-1274.