Podatności Trilium
6 znanych podatności CVE w Trilium, przetłumaczonych i ocenionych.
- 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.
- CVE-2026-47727Wysokie
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.

