CVE-2026-39859 MEDIUM

CVE-2026-39859: LiquidJS has a renderFile() / parseFile() bypass configured root and allow arbitrary file read

Vendor Harttle
Product liquidjs
Weakness CWE-22 · Path traversal
Published April 8, 2026
Last update April 10, 2026

CVSS base score

6.3/10
Attack vector Network
Attack complexity Low
Privileges required None
User interaction None
Confidentiality
Integrity

CVSS vector

CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

What the vulnerability does

01Description

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.

Key dates

02Disclosure timeline

April 8, 2026 CVE published
April 10, 2026 Record updated