Katalog CVE

CVE-2026-87869

ŚrednieCVSS 6.1
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.22%

Percentyl 12 - wyżej niż 12% wszystkich znanych CVE

Streszczenie

Wtyczka Filter Everything — WordPress & WooCommerce Filters dla WordPressa jest podatna na odbity atak XSS w wersjach do 1.9.6 włącznie, z powodu niewystarczającej sanityzacji wejścia i ucieczki wyjścia w funkcji flrt_elementor_load_more_anchor(). Funkcja odczytuje parametry zapytania z $_SERVER['REQUEST_URI'] przez getFormActionOrFullPageUrl(true), które dekoduje je przez parse_str() i ponownie składa za pomocą build_query() — funkcji rdzenia WordPressa, która NIE koduje ponownie wartości ($urlencode=false). Wynikowy URL, zawierający nieucieczone znaki specjalne, jest wstrzykiwany do atrybutu HTML data-next-page przez preg_replace() bez esc_attr() lub esc_url(). Umożliwia to nieuwierzytelnionym atakującym wstrzyknięcie dowolnych skryptów na strony, które wykonają się, jeśli uda im się nakłonić użytkownika do kliknięcia specjalnie spreparowanego linku.

Ocena ryzyka

Ryzyko obejmuje możliwość wykonania złośliwych skryptów w przeglądarce ofiary po kliknięciu w spreparowany link, co może prowadzić do kradzieży danych, przejęcia sesji lub rozprzestrzeniania złośliwego oprogramowania. Atak może dotknąć wszystkich użytkowników, którzy klikną w złośliwy link.

Rekomendacja

Zaleca się aktualizację wtyczki Filter Everything do najnowszej wersji z poprawką. Należy również edukować użytkowników, aby nie klikali w podejrzane linki oraz rozważyć dodanie nagłówków CSP (Content Security Policy) w celu ograniczenia skutków XSS.

Powiązane podatności

Oryginalny opis (angielski, źródło NVD)

The Filter Everything — WordPress & WooCommerce Filters plugin for WordPress is vulnerable to Reflected Cross-Site Scripting in versions up to, and including, 1.9.6. This is due to insufficient input sanitization and output escaping in the flrt_elementor_load_more_anchor() function. The function reads query parameters from $_SERVER['REQUEST_URI'] via getFormActionOrFullPageUrl(true), which URL-decodes them through parse_str() and re-assembles them using build_query() — a WordPress core function that does NOT re-encode values ($urlencode=false). The resulting URL, containing unescaped special characters, is injected into a data-next-page HTML attribute via preg_replace() without esc_attr() or esc_url(). This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that execute if they can successfully trick a user into performing an action such as clicking on a specially crafted link.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS