CVE-2026-52775
WysokieCVSS 8.8Streszczenie
YesWiki przed wersją 4.6.6 zawiera podatność na wstrzykiwanie SQL w funkcji ReactionManager::deleteUserReaction(), która pozwala każdemu uwierzytelnionemu użytkownikowi na wstrzyknięcie dowolnego SQL przez parametry ścieżki URL {idreaction} i {id}. Parametry są konkatenowane bezpośrednio do klauzuli SQL LIKE bez escapowania lub parametryzacji.
Ocena ryzyka
Uwierzytelniony użytkownik może wykonywać dowolne zapytania SQL, co może prowadzić do wycieku danych, modyfikacji lub usunięcia danych w bazie.
Rekomendacja
Zaleca się aktualizację do wersji 4.6.6 oraz stosowanie parametryzowanych zapytań.
Inne podatności w YesWiki
Zobacz wszystkie- CVE-2026-52774Średnie
YesWiki to system wiki napisany w PHP. Przed wersją 4.6.6, handler widżetu Bazar odzwierciedla parametr GET 'id' w atrybutach HTML używając tylko strip_tags(). Ponieważ strip_tags() nie escapuje podwójnych cudzysłowów, atakujący może wyrwać się z wartości atrybutu, wstrzyknąć handler zdarzeń, taki jak onmouseover, i wykonać dowolny JavaScript w przeglądarce ofiary. Problem jest osiągalny bez uwierzytelnienia.
- CVE-2026-52773Średnie
YesWiki to system wiki napisany w PHP. Od wersji 4.1.0 do przed 4.6.6, widok zarchiwizowanej rewizji odzwierciedla parametr GET 'time' w ukrytym polu HTML w handlers/page/show.php bez escapowania. Ponieważ MySQL koercji nieprawidłowych ciągów DATETIME, atakujący może dołączyć HTML lub JavaScript do prawidłowego znacznika czasu zarchiwizowanej rewizji, nadal załadować tę rewizję i wykonać dowolny JavaScript w przeglądarce ofiary. Podatny formularz jest renderowany tylko gdy ofiara może czytać i edytować stronę docelową.
- CVE-2026-52772Średnie
YesWiki to system wiki napisany w PHP. Przed wersją 4.6.6, szablony pól formularza Bazar nadal stosują |raw('html') do field.label / field.hint w kontekście atrybutów i treści etykiet, co powoduje trwały XSS w renderowaniu formularzy.
- CVE-2026-52771Wysokie
YesWiki od wersji 4.2.0 do przed 4.6.6 zawiera podatność na wstrzykiwanie SQL w ApiController::deletePage(), gdzie tag strony pobrany z bazy jest interpolowany do zapytania DELETE bez escapowania. Niskouprzywilejowany uwierzytelniony użytkownik może utworzyć stronę z tagiem będącym fragmentem SQL i wykonać dowolny SQL w bazie wiki.
- CVE-2026-52770Wysokie
YesWiki przed wersją 4.6.6 zawiera podatność na nieuwierzytelnione wstrzykiwanie SQL w publicznych API listowania wpisów Bazar, w filtrach numerycznych. Wartość filtra jest escapowana, ale wstawiana do SQL bez cudzysłowów i walidacji numerycznej, co pozwala atakującemu na wstrzykiwanie wyrażeń boolowskich i wnioskowanie o zawartości bazy.
- CVE-2026-52769Wysokie
YesWiki od wersji 4.6.2 do przed 4.6.6 zawiera podatność w trasie POST /api/forms/{formId}/actor/inbox, która jest publicznie dostępna. HttpSignatureService::verifySignature() parsuje nagłówek HTTP Signature i natychmiast wykonuje serwerowe żądanie HTTP GET do podanego URL, przed jakąkolwiek weryfikacją kryptograficzną. Nieuwierzytelniony atakujący może zmusić serwer do wykonywania żądań do wewnętrznych usług, w tym metadanych chmury.
- CVE-2026-52767Wysokie
YesWiki od wersji 4.6.2 do przed 4.6.6 zawiera podatność w HttpSignatureService::verifySignature(), która sprawdza wynik funkcji openssl_verify() za pomocą luźnej negacji boolowskiej. Ponieważ PHP traktuje -1 jako prawdę, warunek !(-1) jest fałszywy, co powoduje pominięcie błędu i kontynuację przetwarzania, nawet gdy weryfikacja podpisu nie powiodła się.
- CVE-2026-52763Średnie
YesWiki to system wiki napisany w PHP. Przed wersją 4.6.6, akcja recentchanges (actions/recentchanges.php) akceptuje argument okresu z dwóch rozłącznych przestrzeni parametrów. Biała lista waliduje tylko formę URL przeciwko ['day','week','month']. Forma argumentu akcji przechodzi do gałęzi else bez walidacji, a wartość trafia do PageManager::getRecentlyChanged(), gdzie jest interpolowana do klauzuli WHERE time >= '...' ORDER BY time DESC bez escapowania lub parametryzacji. Udana iniekcja UNION-based pozwala na wyświetlenie wyciekłych wierszy w odpowiedzi, więc każdy odwiedzający stronę wyzwalającą widzi eksfiltrowane dane. Podatność zapewnia dowolny odczyt bazy danych YesWiki każdemu, kto może zapisać stronę wyzwalającą.
- CVE-2026-52762Wysokie
YesWiki przed wersją 4.6.6 zawiera podatność na przechowywane wstrzykiwanie szablonów po stronie serwera (SSTI) w funkcji szablonów semantycznych Bazar, która może eskalować do zdalnego wykonania kodu (RCE). Uwierzytelniony administrator może umieścić dowolne wyrażenia Twig w polu szablonu semantycznego, które są wykonywane podczas żądań do publicznych endpointów semantycznych.
- CVE-2026-52777Krytyczne
YesWiki to system wiki napisany w PHP. Przed wersją 4.6.6 występuje uwierzytelniona podatność na wstrzykiwanie obiektów PHP w BazarImportAction przez funkcję unserialize. Problem został naprawiony w wersji 4.6.6.
Oryginalny opis (angielski, źródło NVD)
YesWiki is a wiki system written in PHP. Prior to version 4.6.6, YesWiki through the latest development branch contains a SQL injection vulnerability in ReactionManager::deleteUserReaction() that allows any authenticated user to inject arbitrary SQL via the {idreaction} and {id} URL path parameters. The parameters are concatenated directly into a SQL LIKE clause without escaping or parameterization. This issue has been patched in version 4.6.6.

