CVE-2026-33287: harttle liquidjs · Improper Input Validation
Affects harttle liquidjsSource CVE Database V5
Not known to be exploited · CVSS 7.5 High : upgrade to 10.25.1 soon.
Data as of 30 Oct 2026, 11:52 UTC
- EPSS
- 0.4% chance of exploitation in 30 days – higher than 41% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 10.25.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HExploitation evidence
Disclosed: evidence found.
CVE published 26 Mar 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 30 Oct 2026.
What to do
Upgrade liquidjs and harttle/liquidjs to 10.25.1.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| harttleliquidjs | Affected
| Fixed in
|
npmharttle/liquidjspkg:npm/harttle/liquidjsOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
- Upgrade all instances of LiquidJS to version 10.25.1 or later, where the vulnerability is patched.
- Implement input validation and sanitization at the application layer to detect and reject suspicious replacement patterns, especially those involving `$&` or other special replacement tokens.
- Employ runtime memory monitoring and limits at the container or process level to detect abnormal memory usage spikes and terminate affected processes proactively.
- Use Web Application Firewalls (WAFs) with custom rules to block requests containing suspicious payloads targeting the `replace_first` filter.
- Conduct code reviews and security testing focusing on template engines and string manipulation functions to identify similar amplification risks.
- Educate developers on the risks of using native string replacement functions without proper output size checks in templating contexts.
Description
LiquidJS is a Shopify / GitHub Pages compatible template engine in pure JavaScript. Prior to version 10.25.1, the `replace_first` filter in LiquidJS uses JavaScript's `String.prototype.replace()` which interprets `$&` as a back reference to the matched substring. The filter only charges `memoryLimit` for the input string length, not the amplified output. An attacker can achieve exponential memory amplification (up to 625,000:1) while staying within the `memoryLimit` budget, leading to denial of service. Version 10.25.1 patches the issue.