Podatności Coturn
14 znanych podatności CVE w Coturn, przetłumaczonych i ocenionych.
- CVE-2026-68555Średnie
Coturn w wersji 4.15.0 ma podatność, która pozwala uwierzytelnionemu użytkownikowi TURN na wielokrotne wznawianie alokacji z nowych 5-krotek UDP bez zakończenia przekazania, gdy włączona jest opcja --mobility. Prowadzi to do nieograniczonej liczby sesji po stronie serwera i wyczerpania pamięci procesu, nawet przy skonfigurowanym --user-quota=1.
- CVE-2026-68554Niskie
Coturn to darmowa implementacja serwera TURN i STUN. Przed wersją 4.15.0 atakujący w ścieżce sieciowej może dodać atrybuty po MESSAGE-INTEGRITY do uwierzytelnionego żądania STUN przez zwykły UDP lub TCP, dostosować długość nagłówka STUN i przeliczyć niekluczowany FINGERPRINT, podczas gdy oryginalny HMAC pozostaje ważny, ponieważ obejmuje tylko prefiks wiadomości. Parsowanie po stronie serwera w src/server/ns_turn_server.c kontynuuje po MESSAGE-INTEGRITY przez handle_turn_allocate(), handle_turn_create_permission(), handle_turn_refresh() i handle_turn_command(), co pozwala na nadpisanie czasu życia alokacji, wstrzyknięcie uprawnienia lub ominięcie kontroli pochodzenia przez atrybuty LIFETIME, XOR-PEER-ADDRESS lub ORIGIN. Wdrożenia TLS i DTLS zapobiegają tej modyfikacji w tranzycie. Problem naprawiono w wersji 4.15.0.
- CVE-2026-68553Wysokie
W Coturn przed wersją 4.13.0 uwierzytelniony użytkownik TURN może umieścić specyfikatory formatu printf w atrybutach STUN USERNAME lub REALM, które przechodzą walidację is_secure_string() i są osadzane w kluczach Redis. Funkcja send_message_to_redis() przekazuje kontrolowany klucz jako argument formatu do redisAsyncCommand(), co może prowadzić do odczytu poza va_list. Eksploitacja może spowodować awarię procesu coturn lub ujawnienie pamięci stosu do Redis.
- CVE-2026-68552Średnie
Coturn przed wersją 4.15.0 ma podatność, w której nieuwierzytelniony klient może wysłać wiadomość STUN przez TCP/TLS z polem długości treści od 65520 do 65532, powodując zawinięcie zmiennej len w stun_get_message_len_str(). Prowadzi to do desynchronizacji parsera strumienia i zerwania połączenia atakującego klienta, ale nie wpływa na innych klientów ani proces serwera.
- CVE-2026-73216Średnie
Coturn to implementacja serwerów TURN i STUN. Przed wersją 4.17.0 funkcja shutdown_client_connection() przedwcześnie wywołuje dec_quota() i zwalnia rozliczanie przepustowości podczas pierwszego etapu zamykania alokacji z włączoną mobilnością, zachowując alokację, gniazdo przekaźnikowe, sesję i bilet mobilności. Umożliwia to uwierzytelnionemu klientowi ominięcie limitów --user-quota i --total-quota oraz wyczerpanie portów przekaźnikowych. Problem naprawiono w wersji 4.17.0.
- CVE-2026-73215Wysokie
Coturn przed wersją 4.17.0 ma podatność w funkcji turnports_allocate_even(), która oznacza nieużywany port nieparzysty jako TPS_TAKEN_ODD dla żądania Allocate z parzystym portem i bitem rezerwacji R=0, mimo że żaden gniazdo RTCP go nie zwolni. Uwierzytelniony klient może trwale wyczerpać pulę portów relay, powodując błędy alokacji z kodem STUN 508.
- CVE-2026-73214Wysokie
Coturn przed wersją 4.16.0 ma podatność w funkcjach dtls_server_input_handler() i create_new_connected_udp_socket(), które przechowują stan OpenSSL dtls1_reassemble_fragment() dla 35-bajtowego pofragmentowanego ClientHello deklarującego 650 000-bajtowe uzgadnianie przed walidacją ciasteczka. Nieuwierzytelniony zdalny nadawca może wyczerpać pamięć bez poświadczeń TURN, ukończonego uzgadniania, ważnego ciasteczka lub spoofingu źródła.
- CVE-2026-73213Średnie
Coturn to implementacja serwerów TURN i STUN. Przed wersją 4.16.0 funkcja addr_less_eq() w src/client/ns_turn_ioaddr.c używa porównania składowych dla natywnych zakresów IPv6 min-max w ioa_addr_in_range(), co pozwala uwierzytelnionemu klientowi TURN na przekazywanie do peera IPv6, który numerycznie znajduje się w skonfigurowanym zakresie denied-peer-ip (nie wyrównanym do prefiksu), ale jest klasyfikowany jako poza nim. Problem naprawiono w wersji 4.16.0.
- CVE-2026-73212Średnie
Coturn przed wersją 4.13.1 zawiera podatność w funkcji good_peer_addr(), która nie kanonizuje adresów IPv4-kompatybilnych, 6to4 i NAT64 (64:ff9b::/96). Umożliwia to uwierzytelnionemu klientowi TCP CONNECT (RFC 6062) ominięcie zakresu adresów IPv4 z listy zabronionych (denied-peer-ip), gdy host Coturn ma odpowiednią trasę translacji.
- CVE-2026-65981Wysokie
Coturn w wersjach przed 4.15.0 z włączoną opcją --mobility zawiera podatność, która pozwala uwierzytelnionemu atakującemu na przejęcie sesji REFRESH innego użytkownika. Atakujący, który zdobędzie MOBILITY-TICKET ofiary, może odbierać i wstrzykiwać ruch przekaźnikowy oraz zużywać limit ofiary. Problem wynika z nieprawidłowej weryfikacji tożsamości w gałęzi resume.
- CVE-2026-62959Wysokie
Coturn od wersji 4.5.2 do 4.14.0, uruchomiony z opcją --acme-redirect i nasłuchującym na czystym TCP, pozwala nieuwierzytelnionemu klientowi na wysłanie żądania HTTP GET, w odpowiedzi 301 zwracając do ~870 bajtów sąsiedniego sterty procesu. Wyciek zawiera dane z innych żądań klientów, takie jak poświadczenia TURN, tokeny OAuth czy przekaźnikowane ładunki.
- CVE-2026-53450Wysokie
Podatność w Coturn przed wersją 4.13.0 pozwala uwierzytelnionemu klientowi TURN na ominięcie domyślnego blokowania pętli zwrotnej (loopback) poprzez użycie adresu IPv4-mapowanego na IPv6 (::ffff:127.0.0.1) w atrybucie XOR-PEER-ADDRESS. Mechanizm sprawdzania pętli zwrotnej nie obsługuje poprawnie tego typu adresów, co umożliwia przekazywanie ruchu do usług lokalnych na hoście Coturn.
- CVE-2026-53449Średnie
W Coturn przed wersją 4.13.0 polecenie CLI 'psd print sessions dump' przyjmuje argument ścieżki pliku i przekazuje go bezpośrednio do funkcji fopen bez walidacji. Uwierzytelniony administrator z dostępem do CLI może nadpisać dowolne pliki, do których proces Coturn ma prawo zapisu, używając danych zrzutu sesji.
- CVE-2026-53448Wysokie
Podatność w Coturn przed wersją 4.12.0 umożliwia wstrzykiwanie SQL przez panel administracyjny HTTPS. Parametry zapytań HTTP są przekazywane bezpośrednio do zapytań SQL bez odpowiedniego oczyszczania, co pozwala uwierzytelnionemu administratorowi na wstrzyknięcie dowolnego kodu SQL.

