Skip to content
OpenAdvisories
Medium · 6.3 CVE-2026-39859 EUVD-2026-20611GHSA-v273-448j-v4qj

LiquidJS has a renderFile() / parseFile() bypass configured root and allow arbitrary file read

Published Apr 8, 2026 · Updated Apr 10, 2026 · Assigned by GitHub_M

Description

LiquidJS is a Shopify / GitHub Pages compatible template engine in pure JavaScript. Prior to 10.25.3, liquidjs 10.25.0 documents root as constraining filenames passed to renderFile() and parseFile(), but top-level file loads do not enforce that boundary. A Liquid instance configured with an empty temporary directory as root can return the contents of arbitrary files. This vulnerability is fixed in 10.25.3.

Affected products

VendorProductAffectedFixed
harttle liquidjs < 10.25.3 —

Affected packages

EcosystemPackageAffectedFixedRecord
npm liquidjs < 10.25.5 10.25.5 GHSA-v273-448j-v4qj

References