Katalog CVE

CVE-2026-75834

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

Streszczenie

Grav przed wersją 2.0.14 zawiera podatność na przechowywany cross-site scripting w funkcji Security::detectXss() (system/src/Grav/Common/Security.php). Wszystkie wzorce wykrywania XSS używają modyfikatora PCRE /u (UTF-8), więc pojedynczy nieprawidłowy bajt UTF-8 w treści strony powoduje, że preg_match() zwraca false dla każdego wzorca, po cichu omijając bramkę bezpieczeństwa XSS przy zapisie (Validation::checkSafety()). Uwierzytelniony atakujący z uprawnieniami do edycji stron (bez uprawnienia security.xss_whitelist) może przechowywać złośliwy JavaScript, który wykonuje się w przeglądarce odwiedzającego daną stronę.

Ocena ryzyka

Ryzyko polega na możliwości wykonania złośliwego skryptu w przeglądarce odwiedzających, co może prowadzić do kradzieży danych, przejęcia sesji lub innych ataków. Podatność może być wykorzystana przez użytkowników z uprawnieniami do edycji stron.

Rekomendacja

Zaleca się aktualizację Grav do wersji 2.0.14 lub nowszej, która zawiera poprawkę. Należy również rozważyć dodatkowe zabezpieczenia, takie jak walidacja UTF-8 przed sprawdzaniem XSS.

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

Grav before 2.0.14 contains a stored cross-site scripting vulnerability in the Security::detectXss() function (system/src/Grav/Common/Security.php). All XSS detection patterns use the PCRE /u (UTF-8) modifier, so a single invalid UTF-8 byte anywhere in page content causes preg_match() to return false for every pattern, silently bypassing the save-time XSS safety gate (Validation::checkSafety()). An authenticated attacker with page-edit permissions (without the security.xss_whitelist privilege) can store malicious JavaScript that executes in the browser of a visitor who views the affected page.

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