CVE-2026-79661
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 16 - wyżej niż 16% wszystkich znanych CVE
Streszczenie
Ech0 do wersji 4.5.6 rejestruje endpoint PUT /api/echo/like/:id w publicznej grupie routerów bez uwierzytelniania i ograniczeń tempa. Nieuwierzytelnieni atakujący mogą zwiększać licznik fav_count dowolnego echa (w tym prywatnych) poprzez podanie jego UUID, które można zebrać z publicznego kanału GET /api/echo/page. Powtarzane żądania są akceptowane bez deduplikacji, każde wywołuje zapis do bazy danych i unieważnienie czterech kluczy pamięci podręcznej, co pozwala atakującym zawyżać wskaźniki popularności i zwiększać obciążenie bazy danych i pamięci podręcznej. Naprawione w wersji 4.7.3.
Ocena ryzyka
Ryzyko manipulacji wskaźnikami popularności i przeciążenia infrastruktury, co może prowadzić do degradacji wydajności i naruszenia integralności danych.
Rekomendacja
Zaktualizuj Ech0 do wersji 4.7.3 lub nowszej, która naprawia ten problem. Dodatkowo wdróż uwierzytelnianie i ograniczenia tempa dla endpointów zaangażowania.
Inne podatności w Ech0
Zobacz wszystkie- CVE-2026-79673Średnie
Ech0 przed wersją 4.4.3 chroni endpoint PUT /user zakresem profile:read, który jest tylko do odczytu, ale pozwala na operacje zapisu, w tym zmianę hasła. Atakujący z tokenem dostępu profile:read administratora może zmienić hasło administratora i zalogować się, uzyskując nieograniczony token sesji, który omija wszystkie ograniczenia zakresów.
- CVE-2026-79672Średnie
Ech0 przed wersją 4.4.3 nie egzekwuje autoryzacji opartej na zakresach na dziewięciu endpointach panelu administracyjnego komentarzy, co pozwala tokenom dostępu z minimalnymi zakresami na wykonywanie pełnych operacji moderacji komentarzy. Atakujący z tokenem o ograniczonym zakresie może listować, zatwierdzać, odrzucać, usuwać komentarze oraz modyfikować ustawienia systemu komentarzy, bezpośrednio uzyskując dostęp do niechronionych endpointów panelu.
- CVE-2026-79671Średnie
Ech0 przed wersją 4.4.3 zawiera podatność na podrabianie żądań po stronie serwera (SSRF) w funkcji validateWebhookURL (webhook_setting_service.go), która waliduje tylko dosłowne adresy IP za pomocą net.ParseIP() i nie odrzuca nazw hostów, które rozwiązują się na prywatne lub wewnętrzne adresy IP (np. 169.254.169.254.nip.io). Atakujący z uprawnieniami administratora może utworzyć webhook z taką nazwą hosta, aby ominąć walidację i spowodować, że serwer będzie wysyłać żądania do wewnętrznych usług, punktów końcowych metadanych chmury i zasobów sieci prywatnej. Problem został naprawiony w wersji 4.4.3.
- CVE-2026-79670Średnie
Ech0 przed wersją 4.4.3 zawiera podatność na trwały cross-site scripting (XSS) w endpointcie przesyłania plików, który waliduje Content-Type tylko na podstawie nagłówków dostarczonych przez klienta, bez inspekcji po stronie serwera. Atakujący z uprawnieniami administratora może przesłać pliki SVG lub HTML zawierające JavaScript, który wykonuje się w kontekście aplikacji, gdy uzyska do nich dostęp dowolny użytkownik, umożliwiając przejęcie sesji i eksfiltrację danych.
- CVE-2026-79669Średnie
Ech0 przed wersją 4.4.3 nie posiada kontroli autoryzacji na endpointach dzienników systemowych, co pozwala każdemu uwierzytelnionemu użytkownikowi niebędącemu administratorem na odczyt i strumieniowanie wszystkich logów serwera. Atakujący mogą uzyskać dostęp do historycznych logów i strumieni logów w czasie rzeczywistym przez GET /api/system/logs, GET /api/system/logs/stream oraz WS /ws/system/logs, aby zebrać dane rozpoznawcze, w tym wewnętrzne ścieżki plików, ślady błędów i stan aplikacji.
- CVE-2026-79668Średnie
Ech0 przed wersją 4.7.3 zawiera podatność na ominięcie uwierzytelniania w endpointcie PUT /api/echo/like/:id, która pozwala nieuwierzytelnionym atakującym na zwiększanie wskaźników zaangażowania bez weryfikacji tożsamości lub ograniczeń tempa. Atakujący mogą wysyłać powtarzane żądania, aby sztucznie zawyżyć pole fav_count dla dowolnego znanego identyfikatora echa, co narusza integralność wskaźników zaangażowania i systemów rankingu społecznościowego.
- CVE-2026-79667Wysokie
Ech0 w wersji 4.3.4 i wcześniejszych nie egzekwuje w sposób niezawodny ograniczeń zakresu tokenów dostępu (najmniejszych uprawnień) na kilku uprzywilejowanych trasach administracyjnych. Wiele punktów końcowych (np. /api/inbox, /api/panel/comments, /api/backup/export) pomija sprawdzanie zakresu i autoryzuje tylko na podstawie roli administratora, a moduł eksportu kopii zapasowej całkowicie ignoruje metadane zakresu tokena. Atakujący posiadający celowo ograniczony (niski zakres) token administratora może uzyskać dostęp do szerszej funkcjonalności, w tym do skrzynki odbiorczej i eksportu pełnej kopii bazy danych ZIP. Poprawiono w wersji 4.4.3.
- CVE-2026-79666Średnie
Ech0 przed wersją 4.4.3 nie egzekwuje autoryzacji administratora na endpointach dzienników pulpitu, co pozwala każdemu uwierzytelnionemu użytkownikowi na dostęp do logów systemowych. Atakujący z ważną sesją użytkownika mogą wysyłać zapytania do GET /api/system/logs i subskrybować strumienie logów SSE i WebSocket, aby uzyskać wrażliwe dane operacyjne, w tym ścieżki plików, ślady stosu i wewnętrzne adresy URL.
- CVE-2026-79665Wysokie
Ech0 przed wersją 4.5.1 zawiera podatność na obejście autoryzacji, gdzie tokeny sesji pomijają walidację zakresu w oprogramowaniu pośrednim RequireScopes, umożliwiając zalogowanym nie-administratorom dostęp do punktów końcowych administratora. Atakujący mogą czytać logi systemowe, statystyki odwiedzin, e-maile użytkowników i subskrybować na żywo logi WebSocket, wysyłając uwierzytelnione tokeny sesji do niechronionych punktów końcowych.
- CVE-2026-79664Wysokie
Ech0 przed wersją 4.7.3 nie unieważnia poprawnie tokenów dostępu utworzonych z opcją nigdy nie wygasają, umożliwiając atakującym utrzymanie ciągłego uwierzytelnionego dostępu po kradzieży tokena. Trzy niezależne mechanizmy unieważniania zawodzą: wylogowanie powoduje panikę przy polu ExpiresAt równym nil, RevokeToken pomija, gdy remainTTL wynosi zero, a usunięcie przez administratora nie umieszcza JTI na czarnej liście, pozostawiając skradzione tokeny kryptograficznie ważne aż do rotacji sekretu JWT.
Oryginalny opis (angielski, źródło NVD)
Ech0 through 4.5.6 registers the PUT /api/echo/like/:id endpoint on the public router group without authentication or rate limiting. Unauthenticated attackers can increment the fav_count counter of any echo (including private echoes) by supplying its UUID, which can be harvested from the public GET /api/echo/page feed. Repeated requests are accepted without deduplication, each triggering a database write and a four-key cache invalidation, allowing attackers to inflate popularity metrics and amplify load on the database and cache. Fixed in 4.7.3.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

