CVE-2026-72809
WysokieCVSS 8.0Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 11 - wyżej niż 11% wszystkich znanych CVE
Streszczenie
SiYuan w wersjach do v3.7.2 (poprawione w v3.7.4) zawiera podatność na obejście uwierzytelniania w funkcji CheckAuth jądra, która przyznaje rolę administratora (RoleAdministrator) każdemu żądaniu, którego RemoteAddr jest pętlą zwrotną (127.0.0.1) dla określonego zestawu endpointów (w tym /api/system/exit, getNetwork, getWorkspaceInfo, /assets/* i /export/*). Te obejścia localhost znajdują się poza bramą kodu dostępu, więc działają nawet wtedy, gdy skonfigurowano kod dostępu. Ponieważ odwrotne proxy na stałym porcie przekazuje żądania do jądra przez pętlę zwrotną bez wstrzykiwania tokena uwierzytelniającego i nie konfiguruje zaufanych proxy, żądanie przekazane przez to proxy dociera do jądra z RemoteAddr = 127.0.0.1. Jeśli proxy na stałym porcie jest powiązane z interfejsem sieciowym, może to pozwolić zdalnemu nieuwierzytelnionemu atakującemu na uzyskanie dostępu administracyjnego do dotkniętych endpointów; jednak zgodnie z poradą to zdalne przekazywanie zostało ustalone tylko przez inspekcję kodu i nie zostało odtworzone end-to-end.
Ocena ryzyka
Ryzyko obejmuje możliwość zdalnego uzyskania dostępu administracyjnego do wrażliwych endpointów, co może prowadzić do nieautoryzowanych działań w systemie.
Rekomendacja
Zaleca się aktualizację SiYuan do wersji v3.7.4 lub nowszej oraz skonfigurowanie zaufanych proxy i wstrzykiwanie tokenów uwierzytelniających w odwrotnym proxy.
Oryginalny opis (angielski, źródło NVD)
SiYuan versions <= v3.7.2 (patched in v3.7.4) contain an authentication bypass vulnerability in the kernel's CheckAuth function, which grants the administrator role (RoleAdministrator) to any request whose RemoteAddr is loopback (127.0.0.1) for a specific set of endpoints (including /api/system/exit, getNetwork, getWorkspaceInfo, /assets/*, and /export/*). These localhost bypasses sit outside the access auth code gate, so they apply even when an access auth code is configured. Because the fixed-port reverse proxy forwards requests to the kernel over loopback without injecting an authentication token and does not configure trusted proxies, a request forwarded through this proxy reaches the kernel with RemoteAddr = 127.0.0.1. If the fixed-port proxy is bound to a network interface, this could allow a remote unauthenticated attacker to obtain admin access on the affected endpoints; however, per the advisory this remote forwarding behavior was established only by code inspection and was not reproduced end-to-end.

