CVE-2026-30952: harttle liquidjs · Path Traversal
Affects harttle liquidjsSource CVE Database V5
Not known to be exploited · CVSS 8.7 High : upgrade to 10.25.0 soon.
Data as of 30 Oct 2026, 11:52 UTC
- EPSS
- 0.5% chance of exploitation in 30 days – higher than 47% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 10.25.0
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:NExploitation evidence
Disclosed: evidence found.
CVE published 10 Mar 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: evidence found.
Public exploit code: GitHub proofs of concept
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), GitHub proofs of concept, the Metasploit, Exploit-DB and nuclei-templates index as of 30 Oct 2026.
What to do
Upgrade liquidjs and harttle/liquidjs to 10.25.0.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| harttleliquidjs | Affected
| Fixed in
|
npmharttle/liquidjspkg:npm/harttle/liquidjsOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
To mitigate CVE-2026-30952, organizations should immediately upgrade all liquidjs instances to version 10.25.0 or later, where the vulnerability is fixed. Additionally, restrict or sanitize any user input that can influence template file paths, especially when dynamicPartials is enabled. Disable dynamicPartials if dynamic file inclusion is not required. Implement strict allowlisting of template directories and enforce path normalization to prevent traversal sequences. Employ runtime monitoring and alerting for suspicious file access patterns. Conduct code reviews and security testing on templates that accept user input to ensure no arbitrary file inclusion is possible. For environments where upgrading is not immediately feasible, consider isolating the application with least privilege file system permissions to limit the impact of potential exploitation. Finally, maintain up-to-date backups and incident response plans to quickly recover from any compromise.
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.