CVE-2026-52763
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 13 - wyżej niż 13% wszystkich znanych CVE
Streszczenie
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ą.
Ocena ryzyka
Przechowywana iniekcja SQL pozwala na dowolny odczyt bazy danych, co może prowadzić do ujawnienia poufnych informacji, takich jak dane użytkowników, hasła lub inne wrażliwe dane.
Rekomendacja
Zaleca się natychmiastową aktualizację YesWiki do wersji 4.6.6 lub nowszej, która zawiera poprawkę eliminującą podatność.
Inne podatności w YesWiki
Zobacz wszystkie- CVE-2026-116208Wysokie
YesWiki od wersji 4.6.2 przed 4.7.0 zawiera podatność braku autoryzacji w ActivityPubService::syncActorPosts, która pozwala złośliwym serwerom ActivityPub manipulować lustrzanymi wpisami innych aktorów. Atakujący mogą dostarczyć zatruty outbox z aktywnościami Delete, Update lub Create podczas synchronizacji inicjowanej przez administratora.
- CVE-2026-116204Wysokie
YesWiki przed wersją 4.7.0 zawiera podatność cross-site request forgery w akcji despam (tools/security/actions/despam.php), która pozwala nieuwierzytelnionym atakującym usuwać lub przywracać strony w sesji administratora. Atakujący mogą umieścić na stronie wiki automatycznie wysyłający się formularz HTML, który po wyświetleniu przez administratora usuwa PagePrincipale, strony konfiguracyjne lub nadpisuje treść.
- CVE-2026-104472Wysokie
Brak autoryzacji w obsłudze pobierania załączników w YesWiki przed wersją 4.6.7 umożliwia nieuwierzytelnionym atakującym ominięcie ACL odczytu stron. Mogą oni pobrać poufne załączniki ze stron z ograniczonym dostępem, znając tag strony i parametr pliku.
- CVE-2026-104471Wysokie
Nieograniczone przesyłanie plików w YesWiki przed wersją 4.6.7 pozwala uwierzytelnionym administratorom zapisywać zdalne pliki do katalogu files/ dostępnego z sieci przez podgląd importu CSV Bazar. Mogą oni zaimportować CSV, którego pole pliku lub obrazu odnosi się do zdalnego pliku .php, który jest zapisywany bez sprawdzenia rozszerzenia i wykonywany jako kod serwera.
- CVE-2026-104468Średnie
YesWiki przed wersją 4.6.7 zawiera podatność niewystarczającego wygasania sesji, ponieważ tokeny resetowania hasła nie mają znaczników czasu ważności. Atakujący, który zdobędzie nieużywany link resetowania hasła (np. z poczty, logów, kopii zapasowych lub historii przeglądarki), może ustawić nowe hasło przez checkEmailKey() i przejąć konto.
- CVE-2026-104467Wysokie
YesWiki w wersji przed 4.6.7 zawiera podatność obejścia autoryzacji w ApiService::isAuthorized(), która pozwala nieuwierzytelnionym atakującym wywoływać trasy API przeznaczone tylko dla administratorów, gdy włączony jest publiczny tryb API. Atakujący mogą wysyłać żądania do endpointów takich jak api/ci/update_config i api/archives, aby nadpisać konfigurację oraz wyświetlić, pobrać lub usunąć archiwa kopii zapasowych.
- CVE-2026-104466Średnie
YesWiki przed wersją 4.6.7 zawiera podatność przechowywanego XSS w formatters/wakka.php. Użytkownicy mogący edytować strony lub komentować mogą wstrzyknąć obsługę zdarzeń, umieszczając cudzysłowy w adresach URL obrazów markdown, co prowadzi do wykonania JavaScriptu w przeglądarkach przeglądających, w tym administratorów.
- CVE-2026-104464Wysokie
YesWiki w wersji przed 4.6.7 zawiera podatność typu server-side request forgery (SSRF), która pozwala nieuwierzytelnionym atakującym wywoływać po stronie serwera żądania GET poprzez podanie niezwalidowanego adresu URL aktora w akcji synchronizacji Bazar abonnements. Atakujący mogą kierować żądania do hostów wewnętrznych lub endpointów metadanych chmury oraz łańcuchowo wykorzystywać kontrolowane przez siebie linki outbox first/next, a pobrane odpowiedzi są zapisywane jako czytelne wpisy Bazar.
- CVE-2026-104463Wysokie
YesWiki w wersji przed 4.6.7 zawiera podatność typu server-side request forgery (SSRF), która pozwala nieuwierzytelnionym atakującym wywoływać żądania po stronie serwera poprzez wysyłanie podpisanych aktywności Follow do publicznej trasy skrzynki odbiorczej aktora formularzy. Atakujący podpisują żądania własnym keyId, podając w treści wewnętrzne adresy URL aktorów, docierając do hostów wewnętrznych lub metadanych chmury poprzez ślepe żądania GET i POST.
- CVE-2026-104462Wysokie
YesWiki w wersji przed 4.6.7 zawiera podatność SQL injection w akcji Bazar nuagetag, która konkatenuje nieescapowany atrybut tags do surowej klauzuli SQL IN. Atakujący z prawem zapisu do strony (domyślnie nieuwierzytelnieni) mogą osadzić tag nuagetag kończący się backslashem, aby zaburzyć parzystość cudzysłowów i wstrzyknąć podzapytanie UNION, eksfiltrując hashe haseł i dowolne dane z tabel.
Oryginalny opis (angielski, źródło NVD)
YesWiki is a wiki system written in PHP. Prior to version 4.6.6, the recentchanges action (actions/recentchanges.php) accepts a period argument from two disjoint parameter spaces. A whitelist validates only the URL form against ['day','week','month']. The action-argument form takes the else branch with no validation, and the value flows into PageManager::getRecentlyChanged(), where it is interpolated into a WHERE time >= '...' ORDER BY time DESC clause without escaping or parameterization. UNION-based injection succeeds, the leaked rows render into the response page, so any visitor of the trigger page sees the exfiltrated data. The vulnerability provides arbitrary read of the YesWiki database to anyone who can save the trigger page. On a default install (default_write_acl='*'), this includes anonymous users, subject to the hashcash JS check on the page-edit form. Once the trigger page is saved, every subsequent view fires the injection as the SQLi is stored. Stored SQL injection is reachable through the page-edit flow, with arbitrary database read. This issue has been patched in version 4.6.6.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

