PT-2026-31351 · Liquidjs · Liquidjs
Published
2026-04-08
·
Updated
2026-04-08
·
CVE-2026-39412
CVSS v3.1
7.5
High
| Vector | AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
Name of the Vulnerable Software and Affected Versions: LiquidJS versions prior to 10.25.4
Description: LiquidJS is a template engine. A bypass exists in the
sort natural filter regarding the ownPropertyOnly security option. This allows template authors to extract values of prototype-inherited properties through a sorting side-channel attack. Applications relying on ownPropertyOnly: true as a security boundary are vulnerable to information disclosure of sensitive prototype properties, such as API keys and tokens. The sort natural function (lines 40-48 in src/filters/array.ts) accesses object properties directly, bypassing the hasOwnProperty check used in other parts of the codebase when ownPropertyOnly is enabled. A proof-of-concept demonstrates that the sort natural filter can be used to reveal the order of prototype-inherited properties, allowing an attacker to extract secrets character-by-character through binary search.Recommendations: Update to LiquidJS version 10.25.4 or later.
Exploit
Fix
Information Disclosure
Found an issue in the description? Have something to add? Feel free to write us 👾
Weakness Enumeration
Related Identifiers
Affected Products
Liquidjs