CVE-2026-47727
WysokieCVSS 8.6Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 37 - wyżej niż 37% wszystkich znanych CVE
Streszczenie
Trilium, przed wersją 0.104.0, ma podatność w domyślnie włączonym filtrze "Safe import". Filtr nie neutralizuje relacji shareTemplate, ponieważ nie jest ona oznaczona jako niebezpieczna, co pozwala na zaimportowanie archiwum zawierającego szablon po stronie serwera prowadzący do zdalnego wykonania kodu. Gdy ofiara publikuje zaimportowaną notatkę, publiczny renderer udostępniania przekazuje surowe bajty powiązanej notatki EJS do ejs.render, co kompiluje je w procesie Node.js. Problem naprawiono w wersji 0.104.0.
Ocena ryzyka
Ryzyko obejmuje zdalne wykonanie kodu przez nieuwierzytelnionego atakującego po opublikowaniu zaimportowanej notatki, co może prowadzić do pełnej kompromitacji serwera.
Rekomendacja
Zaleca się aktualizację Trilium do wersji 0.104.0 lub nowszej oraz unikanie importowania niezaufanych archiwów.
Inne podatności w Trilium
Zobacz wszystkie- CVE-2026-53579Krytyczne
Trilium to aplikacja do hierarchicznych notatek o otwartym kodzie źródłowym. W wersjach do 0.103.0 włącznie, domyślnie włączony filtr "Safe import" sanityzuje HTML tylko dla notatek tekstowych i pomija typ notatki książki (book note), której treść jest przechowywana bez sanityzacji i później renderowana jako HTML, co pozwala na osadzenie złośliwego ładunku w archiwum importowanym, który wykonuje się jako skrypt. Treść notatki książki jest przetwarzana przez tę samą ścieżkę renderowania co notatki tekstowe i wstrzykiwana do strony metodą jQuery html, gdy notatka jest wyświetlana jako karta podglądu w widoku siatki, więc złośliwa notatka przetrwa Safe import i uruchomi się po otwarciu zawierającej ją notatki. W kliencie desktopowym renderer Electron działa z włączoną integracją Node, więc wstrzyknięty JavaScript eskaluje z cross-site scripting do pełnego zdalnego wykonania kodu na maszynie ofiary. Problem naprawiono w wersji 0.104.0.
- CVE-2026-53578Krytyczne
Trilium to aplikacja do hierarchicznych notatek o otwartym kodzie źródłowym. W wersjach do 0.103.0 włącznie, domyślnie włączony filtr "Safe import" sanityzuje HTML tylko dla notatek tekstowych i pomija typ notatki mindMap, której zawartość JSON jest przechowywana bez sanityzacji, co pozwala na osadzenie ładunku renderującego dowolny HTML. Węzeł mapy myśli może zawierać właściwość dangerouslySetInnerHTML, którą biblioteka Mind Elixir przypisuje bezpośrednio do innerHTML węzła, więc złośliwa notatka przetrwa Safe import i wykona skrypt po otwarciu zaimportowanej mapy myśli. W kliencie desktopowym renderer Electron działa z włączoną integracją Node, więc wstrzyknięty JavaScript eskaluje z cross-site scripting do pełnego zdalnego wykonania kodu na maszynie ofiary. Problem naprawiono w wersji 0.104.0.
- CVE-2026-48996Krytyczne
Trilium to aplikacja do hierarchicznych notatek o otwartym kodzie źródłowym. W wersjach do 0.103.0 włącznie, domyślnie włączony filtr "Safe import" nie sanityzuje tytułów notatek, a widok GeoMap interpoluje tytuł notatki znacznika do surowego HTML renderowanego jako innerHTML, co pozwala na wstrzyknięcie skryptu przez archiwum importowane, który uruchamia się podczas wyświetlania mapy. Ponieważ Safe import neutralizuje skrypty, ale nigdy nie escapuje tytułów, notatka z tytułem zawierającym ładunek obsługi zdarzeń HTML przetrwa import i wykona się po otwarciu GeoMap renderującego jej znacznik. W kliencie desktopowym renderer Electron działa z włączoną integracją Node, więc wstrzyknięty JavaScript eskaluje z cross-site scripting do pełnego zdalnego wykonania kodu na maszynie ofiary. Problem naprawiono w wersji 0.104.0.
- CVE-2026-77438Wysokie
Trilium to open-source'owa hierarchiczna aplikacja do notatek. W wersjach do 0.103.0 włącznie, publiczny endpoint wyszukiwania udostępnionych notatek nie egzekwuje kontroli shareCredentials i shareHiddenFromTree, co pozwala nieuwierzytelnionemu odwiedzającemu czytać tytuły, ścieżki drzewa i treść chronionych udostępnionych notatek. Endpoint autoryzuje tylko notatkę nadrzędną, a następnie przeszukuje cały opublikowany poddrzewo, zwracając tytuły, identyfikatory udostępnienia i ścieżki bez ponownego sprawdzania, czy dana notatka wymaga hasła lub jest ukryta.
- CVE-2026-53580Wysokie
Trilium, przed wersją 0.104.0, ma podatność w automatycznym pobieraniu obrazów. Funkcja akceptuje adresy file:// w tagach img notatek i odczytuje wskazany plik lokalny bez walidacji ścieżki, co pozwala uwierzytelnionemu użytkownikowi ujawnić dowolne pliki czytelne dla procesu Trilium. Dodatkowo, wskazanie nieograniczonego źródła, takiego jak /dev/zero, powoduje niekontrolowaną alokację pamięci i awarię serwera. Problem naprawiono w wersji 0.104.0.
Oryginalny opis (angielski, źródło NVD)
Trilium is an open-source hierarchical note-taking application. In versions prior to 0.104.0, the default-on "Safe import" filter fails to neutralize the shareTemplate relation because that relation is not marked as dangerous, allowing an attacker-supplied import archive to plant a server-side template that leads to remote code execution. The relation is omitted from the built-in list of dangerous attributes, so unlike other code-loading relations it is not disabled on import, and when the victim later publishes the imported note the public share renderer feeds the linked EJS code note's raw bytes into ejs.render, which compiles them in the server's Node process. An unauthenticated request to the shared note then executes the attacker's JavaScript with full access to require, process, the filesystem, and the network. This issue is fixed in version 0.104.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

