High severity · published Mar 10, 2026
CVE-2026-30952
liquidjs has a path traversal fallback vulnerability
7.5
CVSS
0.6%
EPSS
No
On KEV
Description
liquidjs is a Shopify / GitHub Pages compatible template engine in pure JavaScript. Prior to 10.25.0, the layout, render, and include tags allow arbitrary file access via absolute paths (either as string literals or through Liquid variables, the latter require dynamicPartials: true, which is the default). This poses a security risk when malicious users are allowed to control the template content or specify the filepath to be included as a Liquid variable. This vulnerability is fixed in 10.25.0.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
None
Confidentiality
High
Integrity
None
Availability
None
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.6% · higher than 48% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
LI
liquidjs · harttle
< 10.25.0 · source: vendor, NVD
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-30952
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-30952
Patch
https://github.com/harttle/liquidjs/commit/3cd024d652dc883c46307581e979fe32302adbac
Issue Tracking
https://github.com/harttle/liquidjs/pull/851
Issue Tracking
https://github.com/harttle/liquidjs/pull/855
Mitigation
https://github.com/harttle/liquidjs/security/advisories/GHSA-wmfp-5q7x-987x
More from liquidjs
10.0
CVE-2026-45618
LiquidJS is Vulnerable to Remote Code Execution
8.7
CVE-2026-61556
LiquidJS: An infinite loop vulnerability in `strip_html` filter
8.2
CVE-2026-55575
LiquidJS: `pop` filter bypasses `memoryLimit` accounting that its array-filter siblings enforce
7.5
CVE-2026-69222
LiquidJS: Uncontrolled Resource Consumption in `join` filter allows template authors to bypass `memoryLimit` and crash the process
7.5
CVE-2026-45357
LiquidJS: Memory and render limit bypass via unbounded width padding in `date` filter (strftime)
