CVE-2025-58351
ŚrednieCVSS 6.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 31 - wyżej niż 31% wszystkich znanych CVE
Streszczenie
Outline w wersjach od 0.72.0 do 0.83.0 wprowadził funkcję lokalnego przechowywania plików jako opcjonalną strategię przechowywania. Funkcja ta umożliwiała obejście CSP oraz obejście ContentType, co może ułatwić dalsze ataki. W przypadku self-hostingu z FILE_STORAGE=local na tej samej domenie co aplikacja Outline złośliwy ładunek może zostać przesłany jako załącznik i obejść ograniczenia CSP, pozwalając na wykonanie skryptu w kontekście innego użytkownika. Naprawiono w wersji 0.84.0.
Ocena ryzyka
Atakujący może przesłać złośliwy plik i wykonać skrypt w kontekście innego użytkownika, prowadząc do kradzieży sesji lub danych. Ryzyko dotyczy głównie instalacji self-hosted z lokalnym przechowywaniem plików.
Rekomendacja
Zaktualizuj Outline do wersji 0.84.0 lub nowszej. Rozważ użycie zewnętrznego przechowywania plików zamiast FILE_STORAGE=local.
Inne podatności w Outline
Zobacz wszystkie- CVE-2026-120489Średnie
Outline przed wersją 1.12.0 zawiera podatność nieprawidłowej autoryzacji w authorizeDocumentPublish(), która pozwala uwierzytelnionym członkom publikować dokumenty w prywatnych kolekcjach bez uprawnień zapisu. Atakujący mogą odłączyć dokument podrzędny przez documents.unpublish, zachowując parentDocumentId, a następnie wywołać documents.update z UUID prywatnej kolekcji, aby wstrzyknąć treść phishingową.
- CVE-2026-120449Średnie
Outline przed 1.12.0 zawiera podatność nieprawidłowej kontroli dostępu, która pozwala nieuwierzytelnionym użytkownikom czytać nieopublikowane dokumenty, ponieważ loader udostępniania ignoruje status nieopublikowania. Osoby posiadające istniejący link udostępniania mogą odczytać wycofaną treść, a shares.revoke zwraca 404 i blokuje cofnięcie udostępnienia.
- CVE-2026-43887Wysokie
Outline to usługa umożliwiająca współpracę nad dokumentacją. W wersjach od 0.84.0 do 1.6.1 sekcja komentarzy pozwala użytkownikom na wzmiankowanie innych użytkowników, jednak backend nie waliduje ani nie oczyszcza atrybutu href związanego z tymi wzmiankami, co może prowadzić do wykonania niebezpiecznego kodu po stronie klienta.
- CVE-2026-43886Wysokie
Outline to usługa umożliwiająca współpracę nad dokumentacją. W wersjach od 0.84.0 do 1.6.1 występuje błąd logiczny w funkcji OAuthInterface.validateScope(), który pozwala na akceptację całej tablicy zakresów OAuth, jeśli jakikolwiek pojedynczy zakres jest ważny.
- CVE-2026-113611Średnie
Outline przed 1.8.0 zawiera podatność nieprawidłowego odbierania dostępu, która pozwala usuniętym administratorom nadal otrzymywać treści dokumentów, ponieważ UserDeletedProcessor nigdy nie wyłącza ich rekordów WebhookSubscription. Byli administratorzy, którzy zarejestrowali webhooki przed usunięciem, nadal otrzymują pełne treści dokumentów, w tym dane Markdown i Yjs, poprzez DeliverWebhookTask dla każdego pasującego zdarzenia w przestrzeni roboczej.
- CVE-2026-41649Wysokie
Outline w wersjach od 0.86.0 do 1.7.0 zawiera podatność na niebezpieczne bezpośrednie odwołanie do obiektu (IDOR) w punkcie końcowym API `shares.create`. Gdy w żądaniu podano zarówno `collectionId`, jak i `documentId`, logika autoryzacji sprawdza tylko dostęp do kolekcji, ignorując dokument. Umożliwia to uwierzytelnionemu atakującemu wygenerowanie publicznego linku udostępniania dla dowolnego dokumentu na platformie, w tym dokumentów z innych obszarów roboczych.
Oryginalny opis (angielski, źródło NVD)
Outline is a service that allows for collaborative documentation. In versions 0.72.0 through 0.83.0, Outline introduced a feature which facilitates local file system storage capabilities as an optional file storage strategy. This feature allowed a CSP bypass as well as a ContentType bypass that might facilitate further attacks. In the case of self-hosting and using Outline FILE_STORAGE=local on the same domain as the Outline application, a malicious payload can be uploaded as a file attachment and bypass those CSP restrictions, allowing script execution within the context of another user. This is fixed in version 0.84.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

