CVE-2026-55210
WysokieCVSS 7.4Streszczenie
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.
Ocena ryzyka
Ryzyko obejmuje nieautoryzowany dostęp do kont użytkowników, naruszenie poufności danych i możliwość modyfikacji danych ofiary.
Rekomendacja
Zaleca się aktualizację Joplin Server do wersji 3.7.2 lub nowszej, która zawiera poprawkę, oraz wdrożenie dodatkowych kontroli dostępu dla kont zewnętrznych.
Inne podatności w Joplin Server
Zobacz wszystkie- 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-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.
Oryginalny opis (angielski, źródło NVD)
Joplin is an open source note-taking and to-do application that organises notes and lists into notebooks. Prior to 3.7.2, Joplin Server's UserModel.ssoLogin() returns an existing account matched by an IdP-asserted email without checking the account's is_external flag. In deployments using mixed local and SAML authentication, an attacker whose IdP session can assert a local user's email can pass POST /api/saml, receive a session for that local account, and access or modify the victim's notes, files, and settings without knowing the local password. This issue is fixed in version 3.7.2.

