LiquidJS — это шаблонизатор, совместимый с Shopify/GitHub Pages, на чистом JavaScript. До версии 10.25.4 фильтр sort_natural обходил параметр безопасности ownPropertyOnly, позволяя авторам шаблонов извлекать значения свойств, унаследованных от прототипа, посредством атаки по побочному каналу сортировки. Приложения, использующие ownPropertyOnly: true в качестве границы безопасности (например, многопользовательские системы шаблонов), подвергаются раскрытию информации о конфиденциальных свойствах прототипа, таких как ключи API и токены.
Эта уязвимость исправлена в версии 10.25.4.
Показать оригинальное описание (EN)
LiquidJS is a Shopify / GitHub Pages compatible template engine in pure JavaScript. Prior to 10.25.4, the sort_natural filter bypasses the ownPropertyOnly security option, allowing template authors to extract values of prototype-inherited properties through a sorting side-channel attack. Applications relying on ownPropertyOnly: true as a security boundary (e.g., multi-tenant template systems) are exposed to information disclosure of sensitive prototype properties such as API keys and tokens. This vulnerability is fixed in 10.25.4.
Характеристики атаки
Последствия
Строка CVSS v3.1