CVE-2026-44644
ŚrednieCVSS 6.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 10 — wyżej niż 10% wszystkich znanych CVE
Streszczenie
LiquidJS, silnik szablonów kompatybilny z Shopify/GitHub Pages, ma podatność na XSS w wersjach 10.25.7 i poniżej z powodu błędu w logice filtru strip_html. Błąd ten pozwala na ominięcie sanitizacji HTML, co umożliwia atakującym wstrzykiwanie złośliwego kodu.
Ocena ryzyka
Organizacje korzystające z podatnych wersji LiquidJS mogą być narażone na ataki XSS, co może prowadzić do kradzieży danych użytkowników lub przejęcia sesji. Wysokie ryzyko występuje w aplikacjach renderujących kontrolowane przez atakującego ciągi bez dodatkowego HTML-escape.
Rekomendacja
Zaleca się aktualizację LiquidJS do wersji 10.26.0 lub nowszej, aby usunąć tę podatność. Dodatkowo, warto wdrożyć dodatkowe mechanizmy zabezpieczające, takie jak HTML-escape dla renderowanego outputu.
Oryginalny opis (angielski, źródło NVD)
LiquidJS is a Shopify/GitHub Pages compatible template engine written in pure JavaScript. Versions 10.25.7 and below are vulnerable to XSS through a flaw in the strip_html filter logic. The strip_html filter is intended to remove HTML tags from a string before rendering, and is widely used as an XSS sanitizer. The implementation uses a regex whose catch-all branch (<.*?>) does not match line terminators, so any HTML tag containing a \n or \r character passes through unmodified. An attacker who can place a newline inside a tag (e.g. <img\nsrc=x\nonerror=alert(1)>) bypasses sanitization entirely, since browsers treat newlines as whitespace within a tag and execute the resulting onerror/onload/etc. handler. Exploitation is possible for applications that both render attacker-controlled strings via {{ x | strip_html }} to defend against HTML injection and do not separately HTML-escape that output (default behavior — outputEscape is unset by default). This issue has been fixed in version 10.26.0.

