CVE-2026-111903
ŚrednieCVSS 5.4Streszczenie
phpMyFAQ 4.2.0-alpha przed 4.2.0-beta zawiera podatność stored XSS w SvgSanitizer, która pozwala użytkownikom z uprawnieniem FAQ_EDIT obejść sanityzację przy użyciu niestandardowych encji XML DTD. Atakujący mogą przesłać SVG definujący encję rozwijającą się do javascript w href kotwicy, wykonując skrypt, gdy widzowie klikną, aby przejąć sesje administratora.
Ocena ryzyka
Atakujący z uprawnieniami edycji FAQ może wykonać dowolny JavaScript w kontekście przeglądarki ofiary, przejmując sesje administratora i uzyskując dostęp do poufnych danych.
Rekomendacja
Zaktualizuj phpMyFAQ do wersji 4.2.0-beta (lub nowszej). Do czasu aktualizacji ogranicz uprawnienia FAQ_EDIT i rozważ wyłączenie przesyłania SVG.
Inne podatności w phpMyFAQ
Zobacz wszystkie- CVE-2026-111910Średnie
phpMyFAQ przed 4.1.9 oraz 4.2.0-alpha przed 4.2.0-beta zawiera błąd obejścia autoryzacji w pliku attachment.php, który pozwala atakującym pobierać załączniki zastrzeżonych FAQ poprzez obejście kontroli uprawnień na poziomie rekordu. Użytkownicy o niskich uprawnieniach z prawem dlattachment, lub anonimowi użytkownicy gdy allowDownloadsForGuests jest włączone, mogą żądać identyfikatorów załączników, aby uzyskać poufne pliki z zastrzeżonych FAQ.
- CVE-2026-111909Wysokie
phpMyFAQ w wersjach przed 4.1.9 zawiera lukę braku autoryzacji w API deleteUser(), która pozwala uwierzytelnionym użytkownikom niebędącym superadminami z uprawnieniem delete_user na usuwanie kont superadminów. Atakujący może wysłać żądanie DELETE do /admin/api/user/delete z identyfikatorem userId superadmina innym niż 1, usuwając dostęp administracyjny i odpowiedzialność.
- CVE-2026-111908Wysokie
phpMyFAQ w wersjach 4.0.0 przed 4.1.9 oraz 4.2.0-alpha przed 4.2.0-beta zawiera lukę złamanej autoryzacji na poziomie obiektu w endpoincie PUT /api/v3.1/faq/update, który sprawdza tylko globalne uprawnienie edit_faq i nie weryfikuje dostępu do docelowego FAQ. Uwierzytelnieni użytkownicy z uprawnieniem edit_faq mogą podać identyfikator zastrzeżonego FAQ, którego nie mogą wyświetlić, aby zmodyfikować jego treść, obejść moderację i zmienić stan publikacji.
- CVE-2026-111907Wysokie
phpMyFAQ w wersjach 4.0.0 przed 4.1.9 zawiera lukę cross-site request forgery w endpoincie POST /admin/api/update-database, który wykonuje migracje bazy danych bez walidacji tokenu CSRF. Atakujący może zwabić zalogowanego użytkownika z uprawnieniem CONFIGURATION_EDIT do przesłania spreparowanego żądania cross-site, wywołując migracje, które mogą wpłynąć na integralność lub dostępność bazy danych.
- CVE-2026-111906Średnie
phpMyFAQ przed 4.1.9 oraz 4.2.0-alpha przed 4.2.0-beta zawiera podatność CSRF w endpointach administracyjnych API Elasticsearch i OpenSearch, które nie weryfikują tokenu CSRF dla akcji tworzenia, usuwania i importu. Atakujący może nakłonić użytkownika z uprawnieniem CONFIGURATION_EDIT do odwiedzenia złośliwej strony, co wywoła te akcje, usuwając indeksy wyszukiwania, wymuszając ponowne indeksowanie lub wyczerpując zasoby.
- CVE-2026-111905Średnie
phpMyFAQ 3.2.0 przed 4.1.9 oraz 4.2.0-alpha przed 4.2.0-beta zawiera podatność IDOR w GET /admin/api/user/data/{userId}, który zwraca pełny wiersz faquserdata dowolnego użytkownika, w tym aktywny sekret TOTP, bez sprawdzenia uprawnień SuperAdmin lub chronionego celu. Delegowani administratorzy z prawami zarządzania użytkownikami mogą odczytać sekret TOTP SuperAdmina i wygenerować ważne kody, omijając uwierzytelnianie dwuskładnikowe.
- CVE-2026-111904Średnie
phpMyFAQ 4.2.0-alpha przed 4.2.0-beta zawiera podatność ujawnienia informacji, która pozwala nieuwierzytelnionym atakującym odczytać ukryte otwarte pytania z powodu odwróconego sprawdzenia api.onlyPublicQuestions w OpenQuestionController. Atakujący mogą wysyłać żądania GET do endpointu /api/v4.0/open-questions, aby uzyskać niepubliczne pytania moderacyjne lub wewnętrzne wraz z powiązanymi nazwami użytkowników.
- CVE-2026-111902Średnie
phpMyFAQ 4.2.0-alpha przed 4.2.0-beta zawiera podatność obejścia autoryzacji w isFaqAccessibleForUser(), która traktuje brakujące tłumaczenie FAQ jako widoczne dla nieuwierzytelnionych użytkowników. Atakujący mogą wysłać niedopasowany nagłówek Accept-Language do endpointów API komentarzy i załączników, aby odczytać komentarze i listy załączników nieopublikowanych lub ograniczonych ACL FAQ.
- CVE-2026-111901Wysokie
phpMyFAQ w wersjach 4.2.0-alpha przed 4.2.0-beta zawiera lukę niekontrolowanego zużycia zasobów w nieuwierzytelnionych endpointach API faqs i search. Atakujący może wysyłać równoczesne żądania GET, które ładują i przetwarzają wszystkie rekordy bazy danych do pamięci PHP, wyczerpując CPU i pamięć, co powoduje awarię serwera.
- CVE-2026-111900Średnie
phpMyFAQ przed 4.1.9 oraz 4.2.0-alpha przed 4.2.0-beta zawiera podatność niewłaściwej autoryzacji w attachment.php, która nie weryfikuje, czy nadrzędny FAQ załącznika jest opublikowany lub widoczny dla żądającego. Uwierzytelnieni użytkownicy z uprawnieniem dlattachment mogą żądać index.php?action=attachment&id=<ID>, aby pobrać pełne pliki załączników należących do szkiców FAQ.
Oryginalny opis (angielski, źródło NVD)
phpMyFAQ 4.2.0-alpha before 4.2.0-beta contains a stored cross-site scripting vulnerability in SvgSanitizer that allows users with FAQ_EDIT permission to bypass sanitization using XML DTD custom entities. Attackers can upload an SVG defining an entity that expands to javascript in an anchor href, executing script when viewers click it to hijack admin sessions.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

