CVE-2026-55240
KrytyczneCVSS 9.1Streszczenie
Tianji to otwartoźródłowa platforma analityczna, monitorowania dostępności i statusu serwerów. Przed wersją 1.31.29 funkcja formatString() w src/server/utils/template.ts przekazuje szablony feedTemplate ankiet i powiadomień monitorów do lodash template(), podczas gdy domyślny wzorzec evaluate pozostaje włączony. Administrator obszaru roboczego może zapisać blok evaluate w formie <% code %>, a publiczny endpoint survey.submit renderuje szablon ankiety, gdy nieuwierzytelniony użytkownik prześle odpowiedź. Skompilowany szablon wykonuje JavaScript po stronie serwera w procesie Node.js Tianji, umożliwiając wykonanie poleceń, ujawnienie sekretów, modyfikację danych lub zakłócenie usługi. Problem naprawiono w wersji 1.31.29.
Ocena ryzyka
Atakujący może wykorzystać wstrzyknięcie szablonu do wykonania dowolnego kodu po stronie serwera, co prowadzi do pełnej kompromitacji procesu Tianji i ujawnienia danych.
Rekomendacja
Zaktualizuj Tianji do wersji 1.31.29 lub nowszej oraz przejrzyj szablony ankiet i powiadomień pod kątem nieautoryzowanych bloków kodu.
Inne podatności w Tianji
Oryginalny opis (angielski, źródło NVD)
Tianji is an open source analytics, uptime monitoring, and server status platform. Prior to 1.31.29, formatString() in src/server/utils/template.ts passes survey feedTemplate and monitor notification templates to lodash template(), while the default evaluate pattern remains enabled. A workspace administrator can store an evaluate block using the <% code %> form, and the public survey.submit endpoint renders a survey template when an unauthenticated user submits a response. The compiled template executes server-side JavaScript in the Tianji Node.js process, allowing command execution, secret disclosure, data modification, or service disruption. This issue is fixed in version 1.31.29.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

