CyberRota Analysis
AI-GeneratedVersions 9.5.0 through 9.15.1 of the Copier library and CLI app are vulnerable due to improper handling of the `trust` setting, allowing an attacker to exploit a prefix match that fails to normalize paths, potentially leading to arbitrary command execution. Users who rely on this library for rendering project templates should prioritize upgrading to version 9.15.2 to mitigate the risk of executing untrusted templates. This vulnerability poses a significant threat to any projects utilizing affected versions, especially in environments where template integrity is critical.
Public Exploit Signal
A public exploit, PoC, GitHub repository or Metasploit reference was detected for this CVE.
Note: these links are listed for security research and verification purposes only.
Original NVD Description
Copier is a library and CLI app for rendering project templates. In versions 9.5.0 through 9.15.1, the `trust` setting's prefix match (`copier/_settings.py`) compares the template URL against a trusted prefix with a raw `str.startswith` and no path normalization, while the URL is normalized when the template is actually fetched (`Path.resolve()` for local paths; libcurl dot-segment removal for `https`). A template reference that textually starts with a trusted prefix but contains `..` is therefore granted trust yet resolves to a different, attacker-controlled template, whose `tasks` / `migrations` / `jinja_extensions` then run without the `--trust` prompt — arbitrary command execution. Version 9.15.2 patches the issue.