CVE-2026-97055
WysokieCVSS 8.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 32 - wyżej niż 32% wszystkich znanych CVE
Streszczenie
SigNoz w wersjach od 0.8.0 przed 0.143.0 domyślnie ustawia sekret podpisywania tokenów JWT na pusty ciąg znaków, a walidacja konfiguracji nie odrzuca pustej wartości. Wdrożenie bez skonfigurowanego sekretu podpisuje i weryfikuje tokeny sesji pustym kluczem HMAC, co pozwala nieuwierzytelnionemu atakującemu sfałszować token sesji dla dowolnego użytkownika, w tym administratora.
Ocena ryzyka
Nieuwierzytelniony atakujący znający identyfikator użytkownika może sfałszować token sesji i przejąć konto administratora, a sfałszowany token odświeżania pozostaje ważny przez cały okres jego życia (domyślnie 30 dni).
Rekomendacja
Zaktualizuj SigNoz do wersji 0.143.0 lub nowszej, która wymaga ustawienia sekretu JWT i zmienia domyślnego dostawcę na opaque.
Inne podatności w SigNoz
Zobacz wszystkie- CVE-2026-97056Średnie
SigNoz w wersjach od v0.98.0 do v0.143.0, gdy skonfigurowany z nieprzezroczystym tokenizatorem sesji, nie odwołuje istniejących sesji logowania użytkownika po zresetowaniu hasła z tokenem resetowania lub po usunięciu użytkownika. Atakujący, który już posiada token sesji, zachowuje pełny dostęp do konta, aż do administratora, po zresetowaniu hasła przez maksymalny czas życia tokena (domyślnie 30 dni) i po usunięciu użytkownika do następnej rotacji tokena (domyślnie 30 minut).
- CVE-2026-93426Wysokie
SigNoz w wersjach od 0.87.0 do przed 0.142.0 nie zabezpiecza nazw pól telemetrycznych dostarczanych przez użytkownika w API v5 query_range, co pozwala uwierzytelnionym użytkownikom na wstrzyknięcie SQL. Atakujący z rolą Viewer lub wyższą mogą osadzić backticki i cudzysłowy w nazwach pól, aby wyrwać się z identyfikatorów i literałów łańcuchowych, wykonując dowolny SQL ClickHouse w celu odczytania tabel systemowych i eksfiltracji danych.
- CVE-2026-93292Wysokie
SigNoz w wersjach od 0.88.0 przed 0.142.1 zawiera podatność wstrzyknięcia SQL w endpointach analityki trace-funnel, które wstawiają pola service_name i span_name do literałów tekstowych ClickHouse bez escapowania. Uwierzytelniony atakujący może wstrzyknąć SQL poprzez definicje kroków lejka, aby wykonać dowolne zapytania i odczytać wyniki w odpowiedziach HTTP.
- CVE-2026-92729Wysokie
SigNoz w wersjach od 0.88.0 do 0.141.0 nie stosuje wrapperów autoryzacyjnych do punktów końcowych analityki trace-funnel w handlerze HTTP. Nieuwierzytelnieni atakujący mogą przesyłać dowolne definicje lejków, aby uzyskać analitykę śledzenia, w tym identyfikatory, czasy trwania, liczby spanów, topologię usług i aktywność błędów, bez poświadczeń.
- CVE-2026-63094Wysokie
Podatność open redirect w SigNoz przed wersją 0.134.0 w przepływie uwierzytelniania SSO. Nieuwierzytelniony atakujący może ukraść tokeny sesji od użytkowników w instancjach skonfigurowanych z Google OAuth, SAML lub OIDC.
- CVE-2026-57956Średnie
Podatność w SigNoz przed wersją 0.133.0 umożliwia uwierzytelnionym użytkownikom dostęp do reguł alertów innych organizacji poprzez podanie docelowego UUID reguły. Brak filtrowania po identyfikatorze organizacji w magazynie reguł alertów powoduje obejście kontroli dostępu.
- CVE-2026-57955Wysokie
Podatność SQL injection w SigNoz do wersji 0.130.1 umożliwia uwierzytelnionym atakującym wykonanie dowolnych zapytań ClickHouse poprzez wstrzyknięcie zakodowanych w URL cudzysłowów do parametru identyfikatora reguły w endpointach historii alertów. Atakujący mogą odczytać wszystkie przechowywane trace'e, logi i metryki lub wykorzystać funkcję url() do fałszowania żądań po stronie serwera (SSRF).
Oryginalny opis (angielski, źródło NVD)
SigNoz from v0.8.0 before v0.143.0 defaults the JWT tokenizer signing secret (tokenizer::jwt::secret, set via SIGNOZ_TOKENIZER_JWT_SECRET or the deprecated SIGNOZ_JWT_SECRET) to an empty string, and Config.Validate() does not reject the empty value, so a deployment that does not configure a secret starts up and both signs and verifies session tokens with an empty HMAC key. Because the JWT tokenizer was the default provider, any such deployment is affected. An unauthenticated attacker who knows the ID of an existing user can forge a valid session token for that user — including an administrator — by signing the id, orgId and email claims with an empty key; the organization ID (and whether an email is registered) can be obtained without authentication from /api/v2/sessions/context. A forged refresh token can be exchanged at /api/v2/sessions/rotate for a new token pair and cannot be revoked, so it remains usable for its full lifetime (30 days by default). Fixed in v0.143.0, which requires a JWT secret when the jwt provider is selected and changes the default provider to opaque.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

