CVE-2026-46650
ŚrednieCVSS 4.4Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 20 - wyżej niż 20% wszystkich znanych CVE
Streszczenie
W Joplin przed wersją 3.7.2 funkcja isAcceptedUrl() w packages/renderer/htmlUtils.ts używa niezakotwiczonego wyrażenia regularnego dla wewnętrznych adresów URL zasobów, co pozwala adresowi javascript: zawierającemu pasujący 32-znakowy fragment ścieżki przejść walidację i zostać osadzonym w linku notatki HTML. Użytkownik Joplin Server z niskimi uprawnieniami może opublikować tak spreparowaną notatkę HTML jako publiczny udział; w obecnej kompilacji zwykłe kliknięcie lewym przyciskiem jest blokowane, a demonstrowane wykonanie wymaga kliknięcia środkowym przyciskiem lub opcji otwarcia w nowej karcie w starszej lub nieutwardzonej przeglądarce.
Ocena ryzyka
W przypadku udanego wykonania skrypt działa w origin Joplin Server, może odczytywać widoczną zawartość strony oraz wykonywać uwierzytelnione żądania w tym samym origin, gdy ofiara jest zalogowana.
Rekomendacja
Zaktualizuj Joplin do wersji 3.7.2 lub nowszej.
Inne podatności w Joplin
Zobacz wszystkie- CVE-2022-35131Krytyczne
W Joplin w wersji 2.8.8 odkryto podatność umożliwiającą wykonanie dowolnych poleceń systemowych. Atak może zostać przeprowadzony poprzez wstrzyknięcie spreparowanego ładunku do tytułów notatek.
- CVE-2026-105786Wysokie
Joplin to aplikacja do notatek i zadań o otwartym kodzie źródłowym. Przed wersją 3.7.13 plik packages/server/src/models/ApplicationModel.ts akceptuje identyfikator autoryzacji aplikacji wybrany przez wywołującego, applications/:id/confirm wiąże ten identyfikator z zalogowanym użytkownikiem przez ogólną stronę zgody, a publiczny punkt końcowy packages/server/src/routes/api/application_auth.ts przekazuje go do ApplicationModel.createAppPassword bez uwierzytelniania lub wiązania osoby realizującej. Atakujący może spowodować, że ofiara zatwierdzi identyfikator atakującego, zrealizuje trwały identyfikator aplikacji i hasło, a następnie wymieni poświadczenie na sesję ofiary z pełnym dostępem do odczytu i zapisu do zsynchronizowanych danych. Podatność naprawiono w wersji 3.7.13.
- CVE-2026-105784Średnie
W Joplin przed wersją 3.7.13, wybranie notatki zawierającej fence jsoncanvas powoduje, że komponenty whiteboard text i file-node renderują zawartość karty z pełnym rendererem Markdown, a następnie wstawiają wynikowy HTML do głównego dokumentu aplikacji przez dangerouslySetInnerHTML. Złośliwa notatka może wstrzyknąć elementy stylów i zdalne importy CSS, które modyfikują zaufane elementy aplikacji, sygnalizują otwarcie notatki i mogą ujawnić wartości atrybutów. Content Security Policy blokuje wykonanie skryptów inline, więc wpływ obejmuje wstrzyknięcie CSS i podmianę UI, a nie wykonanie kodu. Problem naprawiono w wersji 3.7.13.
- CVE-2026-105783Wysokie
Joplin to aplikacja do notatek i zadań o otwartym kodzie źródłowym. Przed wersją 3.7.13, gdy Joplin Desktop działa z opcjonalnym serwerem Web Clipper, serwer w packages/lib/ClipperServer.ts wysyła Access-Control-Allow-Origin: * i pozwala dowolnej stronie internetowej na wywołanie POST /auth i GET /auth/check, ponieważ punkty parowania nie odrzucają źródeł HTTP ani HTTPS. Okno dialogowe potwierdzenia na pulpicie nie identyfikuje źródła żądania, więc ofiara, która zatwierdzi ogólny monit, autoryzuje atakującą stronę, która następnie otrzymuje stały token API. Token zapewnia ciągły dostęp do odczytu i zapisu do notatek, folderów, tagów, zasobów i kluczy głównych. Problem naprawiono w wersji 3.7.13.
- CVE-2026-55105Wysokie
Joplin, aplikacja do notatek i zadań, przed wersjami 3.6.15 i 3.7.2, przekazuje HTML wygenerowany przez vendored fountain.js do notatek bez sanityzacji. Złośliwy blok kodu Fountain może wykonać skrypt, gdy renderowanie Fountain jest włączone w klientach desktopowych lub mobilnych, lub gdy notatka jest publikowana przez Joplin Server, gdzie renderowanie Fountain jest domyślnie włączone.
- CVE-2026-49453Wysokie
Joplin, aplikacja do notatek i zadań, przed wersjami 3.6.15 i 3.7.2, akceptuje zsynchronizowane metadane zasobów, których id lub file_extension zawiera znaki ścieżki nadrzędnej lub separatory ścieżek. Podczas synchronizacji w tle, ResourceFetcher zapisuje zasób kontrolowany przez atakującego poza katalogiem zasobów, co pozwala na tworzenie lub nadpisywanie plików w wybranej przez atakującego istniejącej ścieżce.
- CVE-2026-49449Niskie
W Joplin od wersji 1.4.0 do 3.7.2 plik katex.ts włącza opcję trust dla treści notatek, pozwalając autorowi notatki umieścić URL \href w renderowanym wyniku bez przechodzenia przez normalną listę dozwolonych URL. W systemie Windows kliknięcie linku wskazującego na kontrolowaną przez atakującego ścieżkę UNC powoduje, że pathExists() inicjuje uwierzytelnianie SMB i ujawnia odpowiedź NTLMv2 bieżącego użytkownika bez ostrzeżenia. Problem naprawiono w wersji 3.7.2.
- CVE-2026-34600Średnie
Joplin w wersjach 3.5.2 i wcześniejszych zawiera błąd logiczny w API delta, który umożliwia odbiorcom udostępnionych notatek pobieranie notatek, które nie są już z nimi udostępnione. Błąd wynika z nieprawidłowego filtrowania stanu elementów oraz kompresji zmian, co prowadzi do wycieku danych.
- CVE-2025-57798Średnie
Joplin, aplikacja do notatek i zadań, w wersjach 3.6.14 i wcześniejszych zawiera podatność na Denial of Service (DoS) w polu tytułu notatki z powodu braku walidacji długości. Atakujący może spowodować błąd Out Of Memory (OOM) i zakończenie programu poprzez wstawienie bardzo długiego ciągu znaków w tytule notatki, zarówno przez interfejs użytkownika, jak i przez lokalne API webowe (port 41184) po skompromitowaniu tokena uwierzytelniającego. Problem został naprawiony w wersji 3.7.1.
- CVE-2026-22810Wysokie
Joplin przed wersją 3.5.7 zawiera podatność typu path traversal w importerze, umożliwiającą nadpisywanie dowolnych plików na dysku. Konwerter OneNote nie oczyszcza nazw osadzonych plików, co pozwala na użycie sekwencji ../.. w nazwach plików.
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, isAcceptedUrl() in packages/renderer/htmlUtils.ts uses an unanchored regular expression for internal resource URLs, allowing a javascript: URL containing a matching 32-character path fragment to pass validation and be emitted into an HTML note's link. A low-privileged Joplin Server user can publish the crafted HTML note as a public share. In the current build, ordinary left-click is blocked; demonstrated execution requires middle-click or Open in new tab in an older or non-hardened browser because current Chrome and Firefox block javascript: new-tab navigation. When execution succeeds, the script runs in the Joplin Server origin, can read page-visible content, and can make authenticated same-origin requests when the victim is signed in. This issue is fixed in version 3.7.2.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

