CVE-2026-88592
NieznaneStreszczenie
kkFileView w wersji 4.2.0 i nowszych jest podatny na Server-Side Request Forgery w punkcie końcowym /getCorsFile. Filtr TrustHostFilter waliduje pierwszy niepusty parametr w ustalonej kolejności, podczas gdy kontroler odczytuje i pobiera wyłącznie parametr urlPath, co pozwala obejść whitelistę trust.host poprzez podanie jednocześnie urlPath (rzeczywisty cel) i url (atrapa z whitelisty), a treść odpowiedzi jest zwracana atakującemu.
Ocena ryzyka
Atakujący może wymusić na serwerze żądania do dowolnych zasobów wewnętrznych i odczytać ich odpowiedzi, co prowadzi do wycieku danych i możliwości pivotowania w sieci wewnętrznej. Ryzyko jest wysokie, ponieważ atak nie wymaga uwierzytelnienia.
Rekomendacja
Zaktualizuj kkFileView do wersji, w której filtr i kontroler walidują ten sam parametr, lub zastosuj poprawkę niwelującą rozbieżność walidacji. Ogranicz dostęp serwera do sieci wewnętrznych i usług metadanych.
Inne podatności w kkFileView
Zobacz wszystkie- CVE-2026-88593Nieznane
Podatność typu reflected XSS w kkFileView w wersjach od 5.0.0 do 5.0.2 poprzez endpoint /onlinePreview. Kontroler OnlinePreviewController przekazuje parametry page i kkagent kontrolowane przez użytkownika do szablonów FreeMarker bez sanityzacji, a szablony wstawiają te wartości do surowych kontekstów JavaScript.
- CVE-2026-73244Średnie
kkFileView przed wersją 5.0.1 ma nieuwierzytelniony endpoint POST /listFiles, który przekazuje kontrolowany przez użytkownika parametr path do Files.newDirectoryStream bez ograniczenia do katalogu demo, umożliwiając enumerację katalogów poza zamierzonym rootem.
- CVE-2026-73243Średnie
kkFileView przed wersją 5.0.1 ma nieuwierzytelniony endpoint GET /addTask, który jest pominięty w filtrach TrustHostFilter i TrustDirFilter, co pozwala FileConvertQueueTask na pobranie wybranego przez atakującego URL po tym, jak FileHandlerService#getFileAttribute użyje parametru fullfilename do wymuszenia typu OFFICE, COMPRESS lub CAD.
Oryginalny opis (angielski, źródło NVD)
kkFileView >= 4.2.0 is vulnerable to Server-Side Request Forgery (SSRF). The cross-origin file proxy endpoint /getCorsFile is protected by TrustHostFilter against the trust.host whitelist. However, the URL parameter validated by the filter is not the same parameter the controller actually fetches: the filter validates the first non-empty parameter in a fixed priority order, while the controller only reads and fetches urlPath. By supplying both urlPath=<real target> and url=<whitelisted decoy address> in the same request, the decoy passes validation while the unvalidated real target is fetched server-side — and the response body is echoed back to the attacker.

