CVE-2026-59834
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 30 - wyżej niż 30% wszystkich znanych CVE
Streszczenie
Podatność w systemie zarządzania wiedzą SiYuan przed wersją 3.7.1 umożliwia nieuwierzytelnionemu gościowi wstrzyknięcie zapytania UNION SELECT do endpointu wyszukiwania bloków. Atakujący może odczytać ukryte dokumenty, manipulując wartościami ścieżek w żądaniu POST.
Ocena ryzyka
Ryzyko polega na możliwości nieautoryzowanego dostępu do poufnych danych przechowywanych w ukrytych dokumentach, co może prowadzić do wycieku informacji i naruszenia integralności systemu.
Rekomendacja
Należy niezwłocznie zaktualizować SiYuan do wersji 3.7.1 lub nowszej, która zawiera poprawkę eliminującą podatność na wstrzykiwanie SQL.
Inne podatności w SiYuan
Zobacz wszystkie- CVE-2026-45371Wysokie
SiYuan to system zarządzania wiedzą, który przed wersją 3.7.0 miał luki w zabezpieczeniach związane z 8 nieograniczonymi API, które mogły modyfikować konfigurację i indeks SQL. Użytkownicy z odpowiednim tokenem JWT mogli uzyskać dostęp do tych API, co prowadziło do nieautoryzowanych zmian w stanie serwera.
- CVE-2026-41894Wysokie
SiYuan to system zarządzania wiedzą osobistą typu open-source. Przed wersją 3.6.5 poprawka dla CVE-2026-30869 dodała jedynie listę blokowanych ścieżek, ale nie rozwiązała źródła problemu – zbędnego wywołania url.PathUnescape() w funkcji serveExport(). Uwierzytelniony atakujący może użyć podwójnego kodowania URL (%252e%252e), aby przechodzić między katalogami i czytać dowolne pliki obszaru roboczego, w tym pełną bazę danych SQLite (siyuan.db), logi jądra i wszystkie dokumenty użytkowników.
- CVE-2026-77086Krytyczne
SiYuan przed wersją v3.7.4 nie waliduje parametru packageName w punktach końcowych instalacji i odinstalowania Bazaar, co pozwala uwierzytelnionym administratorom na przeprowadzenie ataku typu path traversal. Atakujący z dostępem administratorskim mogą zapisywać dowolne pliki w dowolnej lokalizacji lub rekurencyjnie usuwać katalogi, podając spreparowane wartości packageName.
- CVE-2026-74800Krytyczne
SiYuan przed wersją v3.7.4 nie ustawia nagłówków Content-Disposition i X-Content-Type-Options podczas serwowania dowolnych plików, co umożliwia ataki typu stored cross-site scripting. Uwierzytelnieni atakujący mogą przesłać pliki HTML jako zasoby i wykonać skrypty z pełnym dostępem do API jądra, gdy właściciel obszaru roboczego otworzy link do zasobu.
- CVE-2026-74799Krytyczne
SiYuan przed wersją 3.7.4 rejestruje punkty końcowe debugowania Go net/http/pprof, w tym zrzuty sterty i gorutyn, bez uwierzytelniania, gdy flaga --mode nie jest ustawiona dokładnie na prod. Atakujący mogą uzyskać dostęp do /debug/pprof/heap i powiązanych punktów końcowych, aby wyodrębnić tajemnice z pamięci, w tym AccessAuthCode i klucze API dostawcy AI.
- CVE-2026-73056Krytyczne
Jądro SiYuan przed wersją 3.7.4 zawiera podatność na nieograniczone próby uwierzytelnienia w middleware CheckAuth(). Middleware akceptuje token API (Conf.Api.Token) przez nagłówek Authorization (Token/Bearer) lub parametr ?token=, a żadna z tych ścieżek nie jest chroniona mechanizmem CAPTCHA/blokady. Zdalny atakujący bez uwierzytelnienia może przeprowadzać nieograniczone automatyczne zgadywanie tokena API, szczególnie gdy skonfigurowano krótki lub słaby token, a po sukcesie uzyskuje pełny dostęp roli Administratora, umożliwiający dowolne operacje na plikach i zapytania SQL.
- CVE-2026-73053Krytyczne
SiYuan przed wersją v3.7.4 zawiera podatność na cross-site scripting w funkcji unicode2Emoji, która nie sanityzuje danych wyjściowych gałęzi codepoint. Atakujący mogą tworzyć ikony dokumentów z zakodowanym szesnastkowo znacznikiem, który wykonuje się w rendererze z włączoną integracją Node, umożliwiając wykonanie dowolnego kodu na systemie.
- CVE-2026-73052Krytyczne
SiYuan przed wersją v3.7.4 przechowuje nazwy pól widoku atrybutów bez kodowania HTML i interpoluje je bezpośrednio do elementów option przez innerHTML w menu sortowania. Atakujący mogą wstrzyknąć znaczniki, zmieniając nazwę pola bazy danych, aby wykonać dowolny JavaScript, gdy użytkownik otworzy menu sortowania, a włączona integracja Node w kliencie desktop umożliwia wykonanie kodu.
- CVE-2026-73050Krytyczne
SiYuan przed wersją v3.7.4 nie waliduje ani nie koduje pola koloru w opcjach select widoku atrybutów, co pozwala na przechowywany cross-site scripting przez osiem niekodowanych miejsc renderowania. Atakujący mogą wstrzyknąć atrybuty obsługi zdarzeń, umieszczając cudzysłowy w wartości koloru, co wykonuje dowolny JavaScript podczas przeglądania baz danych zawierających złośliwe pole select.
- CVE-2026-73046Krytyczne
SiYuan przed wersją v3.7.4 nieprawidłowo ogranicza nadmierne próby uwierzytelnienia w middleware CheckAuth(). Gałąź HTTP Basic Authentication, która chroni prawie całą powierzchnię /api/*, akceptuje kod dostępu do obszaru roboczego jako hasło Basic Auth, ale nie konsultuje bramki CAPTCHA/blokady ani nie zwiększa licznika nieudanych prób używanych przez ścieżkę logowania cookie/sesja. Pozwala to nieuwierzytelnionym zdalnym atakującym na brute-force kodu dostępu administratora z nieograniczoną liczbą automatycznych żądań i uzyskanie pełnego dostępu RoleAdministrator do jądra. Dodatkowo kod dostępu jest porównywany w czasie niestałym.
Oryginalny opis (angielski, źródło NVD)
SiYuan is an open-source personal knowledge management system. Prior to 3.7.1, the block search endpoint POST /api/search/fullTextSearchBlock concatenates attacker-controlled paths values into SQL predicates used by non-SQL search modes, allowing an unauthenticated publish visitor to inject a UNION SELECT and return rows from hidden documents by projecting an allowed visible box and path. This issue is fixed in versions 3.7.1.

