<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://db.gcve.eu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Fri, 02 Oct 2026 15:19:36 +0000</lastBuildDate>
    <item>
      <title>CVE-2025-55214 — Copier safe template has filesystem write access outside destination path</title>
      <link>https://db.gcve.eu/vuln/cve-2025-55214</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; copier-org copier&lt;/p&gt;
&lt;p&gt;Copier library and CLI app for rendering project templates. From 7.1.0 to before 9.9.1, Copier suggests that it&amp;#39;s safe to generate a project from a safe template, i.e. one that doesn&amp;#39;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&amp;#39;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&amp;#39;s write permissions), e.g., to cause havoc. This vulnerability is fixed in 9.9.1.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; copier-org copier&lt;/p&gt;
&lt;p&gt;Copier library and CLI app for rendering project templates. From 7.1.0 to before 9.9.1, Copier suggests that it&amp;#39;s safe to generate a project from a safe template, i.e. one that doesn&amp;#39;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&amp;#39;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&amp;#39;s write permissions), e.g., to cause havoc. This vulnerability is fixed in 9.9.1.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/cve-2025-55214</guid>
    </item>
    <item>
      <title>GHSA-p7q8-grrj-3m8w — Copier's safe template has filesystem write access outside destination path</title>
      <link>https://db.gcve.eu/vuln/ghsa-p7q8-grrj-3m8w</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: copier&lt;/p&gt;
&lt;p&gt;### Impact&lt;/p&gt;
&lt;p&gt;Copier suggests that it&amp;#39;s safe to generate a project from a safe template, i.e. one that doesn&amp;#39;t use [unsafe](https://copier.readthedocs.io/en/stable/configuring/#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](https://copier.readthedocs.io/en/stable/configuring/#generating-a-directory-structure) whose rendered path is either a relative parent path or an absolute path. Constructing such paths is possible using Copier&amp;#39;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&amp;#39;s write permissions), e.g., to cause havoc.&lt;/p&gt;
&lt;p&gt;#### Write access via generated relative path&lt;/p&gt;
&lt;p&gt;Reproducible example:&lt;/p&gt;
&lt;p&gt;```shell
echo &amp;#34;foo&amp;#34; &amp;gt; forbidden.txt
mkdir src/
echo &amp;#34;bar&amp;#34; &amp;gt; &amp;#34;src/{{ pathjoin(&amp;#39;..&amp;#39;, &amp;#39;forbidden.txt&amp;#39;) }}&amp;#34;
uvx copier copy src/ dst/
cat forbidden.txt
```&lt;/p&gt;
&lt;p&gt;#### Write access via generated absolute path&lt;/p&gt;
&lt;p&gt;Reproducible example:&lt;/p&gt;
&lt;p&gt;- POSIX:&lt;/p&gt;
&lt;p&gt;```shell
    # Assumption: The current working directory is `/tmp/test-copier-vulnerability/`
    echo &amp;#34;foo&amp;#34; &amp;gt; forbidden.txt
    mkdir src/
    echo &amp;#34;bar&amp;#34; &amp;gt; &amp;#34;src/{{ pathjoin(_copier_conf.sep, &amp;#39;tmp&amp;#39;, &amp;#39;test-copier-vulnera…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: copier&lt;/p&gt;
&lt;p&gt;### Impact&lt;/p&gt;
&lt;p&gt;Copier suggests that it&amp;#39;s safe to generate a project from a safe template, i.e. one that doesn&amp;#39;t use [unsafe](https://copier.readthedocs.io/en/stable/configuring/#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](https://copier.readthedocs.io/en/stable/configuring/#generating-a-directory-structure) whose rendered path is either a relative parent path or an absolute path. Constructing such paths is possible using Copier&amp;#39;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&amp;#39;s write permissions), e.g., to cause havoc.&lt;/p&gt;
&lt;p&gt;#### Write access via generated relative path&lt;/p&gt;
&lt;p&gt;Reproducible example:&lt;/p&gt;
&lt;p&gt;```shell
echo &amp;#34;foo&amp;#34; &amp;gt; forbidden.txt
mkdir src/
echo &amp;#34;bar&amp;#34; &amp;gt; &amp;#34;src/{{ pathjoin(&amp;#39;..&amp;#39;, &amp;#39;forbidden.txt&amp;#39;) }}&amp;#34;
uvx copier copy src/ dst/
cat forbidden.txt
```&lt;/p&gt;
&lt;p&gt;#### Write access via generated absolute path&lt;/p&gt;
&lt;p&gt;Reproducible example:&lt;/p&gt;
&lt;p&gt;- POSIX:&lt;/p&gt;
&lt;p&gt;```shell
    # Assumption: The current working directory is `/tmp/test-copier-vulnerability/`
    echo &amp;#34;foo&amp;#34; &amp;gt; forbidden.txt
    mkdir src/
    echo &amp;#34;bar&amp;#34; &amp;gt; &amp;#34;src/{{ pathjoin(_copier_conf.sep, &amp;#39;tmp&amp;#39;, &amp;#39;test-copier-vulnera…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-p7q8-grrj-3m8w</guid>
    </item>
    <item>
      <title>PYSEC-2026-1273 — Copier's safe template has filesystem write access outside destination path</title>
      <link>https://db.gcve.eu/vuln/pysec-2026-1273</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: copier&lt;/p&gt;
&lt;p&gt;### Impact&lt;/p&gt;
&lt;p&gt;Copier suggests that it&amp;#39;s safe to generate a project from a safe template, i.e. one that doesn&amp;#39;t use [unsafe](https://copier.readthedocs.io/en/stable/configuring/#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](https://copier.readthedocs.io/en/stable/configuring/#generating-a-directory-structure) whose rendered path is either a relative parent path or an absolute path. Constructing such paths is possible using Copier&amp;#39;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&amp;#39;s write permissions), e.g., to cause havoc.&lt;/p&gt;
&lt;p&gt;#### Write access via generated relative path&lt;/p&gt;
&lt;p&gt;Reproducible example:&lt;/p&gt;
&lt;p&gt;```shell
echo &amp;#34;foo&amp;#34; &amp;gt; forbidden.txt
mkdir src/
echo &amp;#34;bar&amp;#34; &amp;gt; &amp;#34;src/{{ pathjoin(&amp;#39;..&amp;#39;, &amp;#39;forbidden.txt&amp;#39;) }}&amp;#34;
uvx copier copy src/ dst/
cat forbidden.txt
```&lt;/p&gt;
&lt;p&gt;#### Write access via generated absolute path&lt;/p&gt;
&lt;p&gt;Reproducible example:&lt;/p&gt;
&lt;p&gt;- POSIX:&lt;/p&gt;
&lt;p&gt;```shell
    # Assumption: The current working directory is `/tmp/test-copier-vulnerability/`
    echo &amp;#34;foo&amp;#34; &amp;gt; forbidden.txt
    mkdir src/
    echo &amp;#34;bar&amp;#34; &amp;gt; &amp;#34;src/{{ pathjoin(_copier_conf.sep, &amp;#39;tmp&amp;#39;, &amp;#39;test-copier-vulnera…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: copier&lt;/p&gt;
&lt;p&gt;### Impact&lt;/p&gt;
&lt;p&gt;Copier suggests that it&amp;#39;s safe to generate a project from a safe template, i.e. one that doesn&amp;#39;t use [unsafe](https://copier.readthedocs.io/en/stable/configuring/#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](https://copier.readthedocs.io/en/stable/configuring/#generating-a-directory-structure) whose rendered path is either a relative parent path or an absolute path. Constructing such paths is possible using Copier&amp;#39;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&amp;#39;s write permissions), e.g., to cause havoc.&lt;/p&gt;
&lt;p&gt;#### Write access via generated relative path&lt;/p&gt;
&lt;p&gt;Reproducible example:&lt;/p&gt;
&lt;p&gt;```shell
echo &amp;#34;foo&amp;#34; &amp;gt; forbidden.txt
mkdir src/
echo &amp;#34;bar&amp;#34; &amp;gt; &amp;#34;src/{{ pathjoin(&amp;#39;..&amp;#39;, &amp;#39;forbidden.txt&amp;#39;) }}&amp;#34;
uvx copier copy src/ dst/
cat forbidden.txt
```&lt;/p&gt;
&lt;p&gt;#### Write access via generated absolute path&lt;/p&gt;
&lt;p&gt;Reproducible example:&lt;/p&gt;
&lt;p&gt;- POSIX:&lt;/p&gt;
&lt;p&gt;```shell
    # Assumption: The current working directory is `/tmp/test-copier-vulnerability/`
    echo &amp;#34;foo&amp;#34; &amp;gt; forbidden.txt
    mkdir src/
    echo &amp;#34;bar&amp;#34; &amp;gt; &amp;#34;src/{{ pathjoin(_copier_conf.sep, &amp;#39;tmp&amp;#39;, &amp;#39;test-copier-vulnera…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/pysec-2026-1273</guid>
    </item>
  </channel>
</rss>
