CVE-2026-34973
ŚrednieCVSS 5.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 26 - wyżej niż 26% wszystkich znanych CVE
Streszczenie
W phpMyFAQ przed wersją 4.1.1 wykryto podatność na ujawnienie informacji w metodzie searchCustomPages(). Funkcja escape() używa real_escape_string(), która nie zabezpiecza przed znakami specjalnymi LIKE (% i _), co umożliwia nieuwierzytelnionemu atakującemu wstrzyknięcie tych znaków i odczytanie nieprzeznaczonych do ujawnienia rekordów.
Ocena ryzyka
Nieuwierzytelniony atakujący może odczytać wrażliwe dane, które nie powinny być dostępne w wynikach wyszukiwania.
Rekomendacja
Należy zaktualizować phpMyFAQ do wersji 4.1.1 lub nowszej, która zawiera poprawkę.
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-56736Wysokie
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.
- 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.
Oryginalny opis (angielski, źródło NVD)
phpMyFAQ is an open source FAQ web application. Prior to version 4.1.1, the searchCustomPages() method in phpmyfaq/src/phpMyFAQ/Search.php uses real_escape_string() (via escape()) to sanitize the search term before embedding it in LIKE clauses. However, real_escape_string() does not escape SQL LIKE metacharacters % (match any sequence) and _ (match any single character). An unauthenticated attacker can inject these wildcards into search queries, causing them to match unintended records — including content that was not meant to be surfaced — resulting in information disclosure. This issue has been patched in version 4.1.1.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

