{"id":"CVE-2026-53951","aliases":["GHSA-9gmc-jqmh-3rvm"],"url":"https://o3.security/vulnerability/CVE-2026-53951","summary":"Copier: trust-prefix bypass via path traversal runs tasks unprompted","details":"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\n(`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.","published":"2026-07-08T15:26:08.626Z","modified":"2026-08-12T03:51:15.795024734Z","cvss":null,"epss":null,"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"PyPI","name":"copier","fixedVersion":"9.15.2"}],"fix":null,"references":[{"type":"WEB","url":"https://github.com/copier-org/copier/releases/tag/v9.15.2"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/53xxx/CVE-2026-53951.json"},{"type":"ADVISORY","url":"https://github.com/copier-org/copier/security/advisories/GHSA-9gmc-jqmh-3rvm"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-53951"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-08-12T03:51:15.795024734Z"}}