CVE-2026-35525 Details
Description
LiquidJS is a Shopify / GitHub Pages compatible template engine in pure JavaScript. Prior to 10.25.3, for {% include %}, {% render %}, and {% layout %}, LiquidJS checks whether the candidate path is inside the configured partials or layouts roots before reading it. That check is path-based, not realpath-based. Because of that, a file like partials/link.liquid passes the directory containment check as long as its pathname is under the allowed root. If link.liquid is actually a symlink to a file outside the allowed root, the filesystem follows the symlink when the file is opened and LiquidJS renders the external target. So the restriction is applied to the path string that was requested, not to the file that is actually read. This matters in environments where an attacker can place templates or otherwise influence files under a trusted template root, including uploaded themes, extracted archives, mounted content, or repository-controlled template trees. This vulnerability is fixed in 10.25.3.
A vulnerability in LiquidJS versions prior to 10.25.3 allows for a bypass of template root restrictions through the use of symlinked files. The issue arises because LiquidJS checks whether a file path is within the allowed partials or layouts directories using a path-based method that does not resolve symlinks to their actual targets. This flaw can be exploited in environments where an attacker can manipulate templates or files within a trusted template root, such as through uploaded themes or repository-controlled template directories. By placing a symlinked file that points to a location outside the permitted directory, an attacker can trick LiquidJS into rendering the external file, potentially exposing sensitive information.
Users can upgrade to LiquidJS version 10.25.3 or later, where this vulnerability has been fixed.
Metrics
CVSS 4.0 Severity and Vector Strings:
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
CISA-ADP
Assessed Apr 8, 2026References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://github.com/harttle/liquidjs/pull/867 | [email protected] | Issue Tracking |
| https://github.com/harttle/liquidjs/releases/tag/v10.25.3 | [email protected] | Release Notes |
| https://github.com/harttle/liquidjs/security/advisories/GHSA-56p5-8mhr-2fph | [email protected] | ExploitVendor Advisory |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-61 | UNIX Symbolic Link (Symlink) Following | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| liquidjs liquidjs | < 10.25.3 |
CPE
Remediation
| |
Change History
5 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Jul 24, 2026 | CVE Translated | [email protected] |
| Jun 17, 2026 | CVE Modified | [email protected] |
| Jun 17, 2026 | CVE Modified | CISA-ADP |
| Apr 10, 2026 | Initial Analysis | [email protected] |
| Apr 8, 2026 | New CVE Received | [email protected] |