CVE-2026-45017 Python Liquid: Absolute paths escape filesystem loader search path
Malicious template authors can read arbitrary files outside the search path using absolute paths in include or render tags.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-45017?
CVE-2026-45017 is a high-severity path traversal vulnerability in jg-rp liquid, published on 28 May 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
Python Liquid is a Python engine for the Liquid template language. Prior to 2.2.0, the built-in FileSystemLoader and CachingFileSystemLoader do not guard against reading files outside their search paths when given an absolute path to resolve. This allows malicious template authors to load and render arbitrary files via the {% include %} and {% render %} tags. Targeted files would need to contain valid Liquid markup and be readable by the application process. This vulnerability is fixed in 2.2.0.
Weakness: CWE-22
Which versions are affected by CVE-2026-45017?
3 open source packages ship an affected version, including python-liquid. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
python-liquid PyPI | All versions | 2.2.0 |
python-liquid PyPI | All versions | 2.2.0 |
python-liquid PyPI | All versions | 2.2.0 |
Products include Jg-Rp Python Liquid.
How do I fix CVE-2026-45017?
Upgrade python-liquid to 2.2.0 or later.
Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.
Is CVE-2026-45017 being exploited?
There is no known exploitation of CVE-2026-45017 in the wild and no public exploit code.
Sources
Also known as ECHO-4c7e-d60c-e7b1, GHSA-8p4x-wr7x-3788, PYSEC-2026-192.