Skip to main content
← All vulnerabilities
CVE-2026-39859GHSA-V273-448J-V4QJ

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

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 10.25.3, 10.25.5
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: yes
  • Technical impact: partial

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: yes · Technical impact: partial

  3. Record last updated

Affected versions

  • harttle liquidjs

    fixed in 10.25.3

  • liquidjsnpm

    fixed in 10.25.5

References 1

GitHub · harttle/liquidjs