Podatności Joplin Server
6 znanych podatności CVE w Joplin Server, przetłumaczonych i ocenionych.
- CVE-2026-59815Średnie
W Joplin Server przed wersją 3.7.7 funkcja ItemModel.checkIfAllowed() autoryzuje zapisy do elementów z danym share ID, gdy istnieje jakikolwiek wiersz share_users dla wywołującego, bez wymagania statusu ShareUserStatus.Accepted. Użytkownik z niskimi uprawnieniami posiadający oczekujące zaproszenie do współdzielenia folderu może utworzyć element pod tym share ID, a ShareModel.updateSharedItems3() propaguje wstrzykniętą treść do właściciela i zaakceptowanych uczestników jeszcze przed zaakceptowaniem zaproszenia.
- CVE-2026-59814Wysokie
Joplin Server przed wersją 3.7.7 zawiera podatność na przechowywane XSS w trasie GET /shares/:id?resource_id=, która serwuje zasób z kontrolowanym przez atakującego typem MIME i pomija nagłówek Content-Disposition, gdy tytuł zasobu jest pusty. Użytkownik z niskimi uprawnieniami może opublikować załącznik image/svg+xml z pustym tytułem, którego skrypt wykona się, gdy ofiara otworzy publiczny link. Domyślnie treści użytkownika współdzielą origin aplikacji, co pozwala skryptowi na dostęp do danych w tym samym originie i, gdy ofiara jest uwierzytelniona, na wykonywanie działań z jej sesją, w tym odczyt danych administracyjnych i tokenów anty-CSRF.
- CVE-2026-55210Wysokie
Joplin Server przed wersją 3.7.2 zawiera podatność w funkcji UserModel.ssoLogin(), która zwraca istniejące konto dopasowane po adresie e-mail z IdP bez sprawdzania flagi is_external. W środowiskach z mieszanym uwierzytelnianiem lokalnym i SAML, atakujący, którego sesja IdP może potwierdzić adres e-mail lokalnego użytkownika, może przejść POST /api/saml, otrzymać sesję dla tego lokalnego konta i uzyskać dostęp lub modyfikować notatki, pliki i ustawienia ofiary bez znajomości lokalnego hasła.
- CVE-2026-59816Średnie
Joplin Server przed wersją 3.7.7 z włączoną opcją TRANSCRIBE_ENABLED=true ma podatność w trasach GET/POST /api/transcribe/:id, gdzie zdekodowane ID jest przekazywane do backendów transkrypcji. Uwierzytelniony użytkownik może użyć zakodowanych w URL-u segmentów ścieżki, aby uciec z zamierzonego prefiksu /transcribe/ i uzyskać odpowiedzi z innych wewnętrznych punktów końcowych, potencjalnie ujawniając dane administracyjne, zdrowotne lub konfiguracyjne. Problem naprawiono w wersji 3.7.7.
- CVE-2026-55179Średnie
Joplin Server przed wersją 3.7.2 ma podatność w trasie GET /items/:id/content, która ładuje treść elementu na podstawie wewnętrznego ID serwera dostarczonego przez atakującego, bez sprawdzania, czy zalogowany użytkownik jest właścicielem lub ma dostęp do tego elementu. Każdy uwierzytelniony użytkownik, który uzyska lub zgadnie ID elementu innego użytkownika, może odczytać odpowiednią notatkę lub treść elementu, jeśli nie jest chroniona szyfrowaniem end-to-end. Problem naprawiono w wersji 3.7.2.
- CVE-2026-46649Krytyczne
Joplin to open-source'owa aplikacja do notatek i zadań organizująca notatki w notatniki. Przed wersją 3.7.2 endpoint GET /api/login_with_code/:id serwera Joplin Server akceptuje dziewięciocyfrowy kod uwierzytelniania SSO o dziesięciominutowym czasie życia bez stosowania limiterLoginBruteForce. Nieuwierzytelniony atakujący, który obrał użytkownika podczas aktywnego logowania SSO, może wykonać nieograniczoną liczbę prób, a poprawny kod zwraca pełny token sesji umożliwiający dostęp i modyfikację notatek, notatników i ustawień konta użytkownika.

