CVE-2026-56736
WysokieCVSS 8.2Streszczenie
phpMyFAQ to open source'owa aplikacja webowa FAQ. Podatność typu stored XSS w wersjach przed 4.2.0-alpha pozwala nieuwierzytelnionemu użytkownikowi (lub użytkownikowi o niskich uprawnieniach) na wstrzyknięcie dowolnego kodu JavaScript, który wykonuje się w przeglądarce administratora podczas przeglądania lub edycji wpisu FAQ. Prowadzi to do przejęcia konta administratora poprzez kradzież sesji.
Ocena ryzyka
Atakujący może przejąć konto administratora, co daje pełną kontrolę nad aplikacją i dostęp do poufnych danych. Może to prowadzić do dalszych ataków i naruszenia bezpieczeństwa całego systemu.
Rekomendacja
Należy zaktualizować phpMyFAQ do wersji 4.2.0-alpha lub nowszej, która naprawia tę podatność. Zaleca się również wdrożenie dodatkowych mechanizmów sanityzacji danych wyjściowych i ochrony przed XSS.
Inne podatności w phpMyFAQ
Zobacz wszystkie- CVE-2026-56738Wysokie
phpMyFAQ przed wersją 4.1.6 ma podatność w metodzie StopWords::add(), która buduje zapytanie SQL INSERT za pomocą sprintf() i wstawia wartość słowa zatrzymanego bezpośrednio do zapytania bez wywołania funkcji eskejpowania bazy danych. Uwierzytelniony administrator może przesłać spreparowaną wartość, która przełamuje literał łańcucha SQL i wstrzykuje dowolny SQL, w tym usuwanie tabel, eksfiltrację danych lub modyfikację innych wierszy.
- CVE-2026-56737Wysokie
phpMyFAQ w wersjach od 3.2.0 do 4.1.5 zawiera obejście uwierzytelniania w publicznym przepływie weryfikacji dwuskładnikowej. Nieuwierzytelniony atakujący może podać numeryczne ID użytkownika i ważny lub zbrutowany sześciocyfrowy kod TOTP bez znajomości hasła, co pozwala przejąć konto z włączonym 2FA, w tym konta administratorów. Wersja 4.1.6 naprawia problem poprzez powiązanie weryfikacji TOTP z sesją ustanowioną po poprawnym uwierzytelnieniu hasłem oraz ograniczenie nieudanych prób TOTP.
- CVE-2026-57994Średnie
Podatność w phpMyFAQ przed wersją 4.1.5 pozwala nieuwierzytelnionym atakującym na odczyt nieaktywnych (wersje robocze lub tylko do recenzji) treści FAQ poprzez niespójne filtrowanie w publicznych punktach końcowych API.
- CVE-2026-57961Niskie
phpMyFAQ przed wersją 4.1.5 zawiera podatność na ścieżkowy atak typu path traversal w funkcji concatenatePaths() w pliku Wrapper.php. Użytkownik z uprawnieniami do edycji FAQ może przechowywać HTML z spreparowanymi ścieżkami obrazów, które są przetwarzane podczas generowania PDF. Brak kanonizacji ścieżki i walidacji ograniczenia do katalogu głównego może pozwolić na odczyt plików poza zamierzonym katalogiem treści.
- CVE-2026-35676Wysokie
phpMyFAQ przed wersją 4.1.3 zawiera podatność na nieautoryzowane resetowanie haseł w API aktualizacji haseł użytkowników, co pozwala atakującym na zmianę haseł kont bez walidacji tokenów.
- CVE-2026-46367Wysokie
phpMyFAQ przed wersją 4.1.2 zawiera podatność na przechowywane ataki typu cross-site scripting w funkcji Utils::parseUrl(). Umożliwia to uwierzytelnionym użytkownikom wstrzykiwanie JavaScriptu za pomocą źle sformatowanych URL-i w komentarzach.
- CVE-2026-46366Wysokie
phpMyFAQ przed wersją 4.1.2 zawiera podatność na ujawnienie informacji w metodzie getIdFromSolutionId(), która nie stosuje filtracji uprawnień. Umożliwia to nieautoryzowanym atakującym enumerację zastrzeżonych wpisów FAQ oraz odczyt ich tytułów przez punkt końcowy /solution_id_{id}.html.
- CVE-2026-46359Wysokie
phpMyFAQ przed wersją 4.1.2 zawiera podatność na wstrzykiwanie SQL w funkcji CurrentUser::setTokenData, która pozwala uwierzytelnionym atakującym na wykonywanie dowolnych zapytań SQL poprzez wstrzykiwanie złośliwych roszczeń tokenów OAuth.
- CVE-2017-15808Wysokie
W phpMyFaq przed wersją 2.9.9 występuje podatność typu CSRF w pliku admin/ajax.config.php.
- CVE-2017-15735Wysokie
W phpMyFAQ przed wersją 2.9.9 występuje podatność na Cross-Site Request Forgery (CSRF), która umożliwia modyfikację glosariusza.
Oryginalny opis (angielski, źródło NVD)
phpMyFAQ is an open source FAQ web application. A stored cross-site scripting (XSS) vulnerability in versions prior to 4.2.0-alpha allows any unauthenticated user (or low-privileged registered user) to inject arbitrary JavaScript that executes in an administrator's browser when they review or edit a user-submitted FAQ entry. This leads to admin account takeover via session theft. The vulnerability exists because `html_entity_decode()` converts HTML entities into executable HTML after `strip_tags()` has already passed them through, and the admin template renders the content with Twig's `|raw` filter without any output sanitization. Version 4.2.0-alpha fixes the issue.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

