CVE-2026-45357 Details
Description
LiquidJS is a Shopify/GitHub Pages compatible template engine written in pure JavaScript. In versions 10.25.7 and below, the date filter's strftime implementation parses width specifiers like %9999999d and forwards the captured width unchecked into pad()/padStart(), leading to memory and render limit bypass. In src/util/underscore.ts, the pad loop performs unbounded string concatenation without consulting the Context's memoryLimit or renderLimit, so a single small template ({{ x | date: '%5000000d' }}) produces megabytes of output and unbounded CPU. The memoryLimit and renderLimit options the docs (src/liquid-options.ts:87-92) advertise as DoS controls — and which the docstring explicitly mentions for strftime — are entirely bypassed. Exploitation can cause large memory allocations, high CPU usage, or OOM crashes per render. This issue has been fixed in version 10.26.0.
A vulnerability in LiquidJS versions through 10.25.7 allows for a denial-of-service (DoS) condition by bypassing the engine's memory and render limits. The issue arises in the date filter's strftime implementation, which improperly handles width specifiers. This mismanagement enables unbounded string concatenation and CPU usage, leading to excessive memory consumption or crashes. The vulnerability can be exploited by crafting a specific date format that takes advantage of the flaw, causing significant output and resource strain.
Users can update to LiquidJS version 10.26.0, which addresses the vulnerability by capping strftime widths, restoring proper memory accounting, and enhancing the date filter's security model.
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.
Volerion
Assessed Jun 17, 2026CISA-ADP
Assessed Jun 18, 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/security/advisories/GHSA-hh27-hf48-9f5q | CISA-ADP | AdvisoryExploitRemedyVendor |
| https://github.com/harttle/liquidjs/commit/3129d46dc95efa357b00e5a57ee1af80a13d72ed | [email protected] | Source CodeVendor |
| https://github.com/harttle/liquidjs/releases/tag/v10.26.0 | [email protected] | Release NotesVendor |
| https://github.com/harttle/liquidjs/security/advisories/GHSA-hh27-hf48-9f5q | [email protected] | AdvisoryExploitRemedyVendor |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-400 | Uncontrolled Resource Consumption | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| LiquidJS | <= 10.25.7 (semver) |
CPE
Remediation
| |
Change History
2 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Jun 18, 2026 | CVE Modified | CISA-ADP |
| Jun 17, 2026 | New CVE Received | [email protected] |
Volerion