<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>CVE-2026-45017 — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/cve-2026-45017/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Mon, 11 May 2026 14:58:42 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/cve-2026-45017/feed.xml" rel="self" type="application/rss+xml"/><item><title>python-liquid FileSystemLoader Absolute Path Escape Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2026-05-python-liquid-path-escape/</link><pubDate>Mon, 11 May 2026 14:58:42 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-python-liquid-path-escape/</guid><description>The FileSystemLoader in python-liquid versions before 2.2.0 allows malicious template authors to read arbitrary files outside the search paths via the `{% include %}` and `{% render %}` tags by using absolute paths; this is resolved in version 2.2.0 by checking for absolute paths in the `resolve_path()` method.</description><content:encoded><![CDATA[<p>The python-liquid library, a template engine, is vulnerable to a path traversal issue affecting the <code>FileSystemLoader</code> and <code>CachingFileSystemLoader</code> classes. Versions prior to 2.2.0 fail to properly sanitize template paths, allowing an attacker to specify absolute paths via the <code>{% include %}</code> and <code>{% render %}</code> tags. This vulnerability, identified as CVE-2026-45017, allows a malicious template author to potentially read any file on the system that contains valid Liquid markup and is readable by the application process. The fix, implemented in version 2.2.0, adds a check for absolute paths in the <code>resolve_path()</code> method within <code>liquid/builtin/loaders/file_system_loader.py</code>. This prevents the loader from processing templates located outside the intended search paths.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker gains the ability to author or modify Liquid templates used by an application using python-liquid.</li>
<li>The attacker crafts a malicious template containing an <code>{% include %}</code> or <code>{% render %}</code> tag.</li>
<li>The tag&rsquo;s argument specifies an absolute path to a file outside the intended template directory, such as <code>/etc/passwd</code> or <code>C:\\boot.ini</code>.</li>
<li>The application processes the malicious template using the <code>FileSystemLoader</code> or <code>CachingFileSystemLoader</code>.</li>
<li>The vulnerable loader resolves the attacker-supplied absolute path without proper validation.</li>
<li>The loader reads the contents of the arbitrary file specified by the absolute path.</li>
<li>The application renders the template, potentially exposing the contents of the arbitrary file to an unauthorized user or system.</li>
<li>If the targeted file contains valid Liquid markup, it is rendered as part of the template. Otherwise, the raw contents are displayed.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of CVE-2026-45017 allows an attacker to bypass intended security restrictions and read arbitrary files on the system. The severity of the impact depends on the contents of the files accessed. Sensitive information, such as configuration files, credentials, or internal application code, could be exposed. The number of victims is dependent on the number of applications utilizing python-liquid with user-supplied template content.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to python-liquid version 2.2.0 or later to remediate CVE-2026-45017, which patches the vulnerability in the <code>FileSystemLoader</code> class.</li>
<li>As an interim workaround if patching is not immediately feasible, implement a custom template loader as described in the advisory, which overrides the <code>resolve_path()</code> method to prevent absolute paths.</li>
<li>Deploy the Sigma rule &ldquo;Detect CVE-2026-45017 Attempt — python-liquid FileSystemLoader Absolute Path&rdquo; to identify attempts to exploit this vulnerability in web server logs.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>path-traversal</category><category>template-injection</category><category>CVE-2026-45017</category></item></channel></rss>