CVE-2026-25554
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 24 - wyżej niż 24% wszystkich znanych CVE
Streszczenie
W module auth_jwt programu OpenSIPS przed wersją 3.6.4 występuje podatność na iniekcję SQL w funkcji jwt_db_authorize(). Atakujący może wysłać spreparowany token JWT ze złośliwym polem tag, które bez odpowiedniego oczyszczenia trafia do zapytania SQL, co pozwala na ominięcie uwierzytelniania JWT i podszycie się pod dowolnego użytkownika.
Ocena ryzyka
Ryzyko polega na możliwości całkowitego ominięcia mechanizmu uwierzytelniania JWT, co umożliwia atakującemu przejęcie tożsamości dowolnego użytkownika systemu i uzyskanie nieautoryzowanego dostępu do chronionych zasobów.
Rekomendacja
Należy niezwłocznie zaktualizować OpenSIPS do wersji 3.6.4 lub nowszej, która zawiera poprawkę (commit 3822d33). Jeśli aktualizacja nie jest możliwa, tymczasowo wyłącz moduł auth_jwt lub korzystanie z backendu bazy danych w trybie db_mode.
Inne podatności w OpenSIPS
Zobacz wszystkie- CVE-2026-45537Krytyczne
OpenSIPS przed wersjami 3.6.6 i 4.0.0-rc1 zawiera przepełnienie bufora w funkcji construct_uri(), która łączy komponenty URI do stałego bufora 1024-bajtowego bez sprawdzania granic. Atakujący może kontrolować nazwę użytkownika, aby przepełnić bufor i nadpisać sąsiednie dane globalne, w tym flagę disable_503_translation, zmieniając zachowanie routingu.
- CVE-2026-45100Krytyczne
OpenSIPS w wersjach od 3.4.0-beta do 3.6.5 oraz 4.0.0-beta zawiera przepełnienie bufora w transformacji {s.b64encode}. Sprawdzanie rozmiaru nie uwzględnia ekspansji base64, co pozwala na przepełnienie bufora o maksymalnie 21 844 bajty, nadpisując sąsiednie bufory transformacji.
- CVE-2026-45538Krytyczne
OpenSIPS w wersji 4.0.0 i wcześniejszych zawiera przepełnienie bufora stosu w funkcji sip_to_json(), gdy nazwa nagłówka SIP przekracza 255 bajtów. Atakujący może wysłać pojedynczy pakiet UDP na port 5060, aby spowodować awarię procesu lub potencjalnie wykonać zdalny kod.
- CVE-2026-46334Wysokie
OpenSIPS przed wersjami 3.6.6 i 4.0.0-rc1 zawiera podatność na odmowę usługi w logice parsowania linii pasma SDP. Nieprawidłowo sformatowana linia pasma SDP może uszkodzić metadane, co prowadzi do awarii procesu roboczego OpenSIPS.
- CVE-2026-45809Wysokie
OpenSIPS przed wersjami 3.6.6 i 4.0.0-rc1 zawiera podatność na odmowę usługi w funkcji generowania watcherinfo. Przesłanie żądania SUBSCRIBE z długim URI From może spowodować przepełnienie bufora na stosie i awarię procesu.
- CVE-2026-45705Średnie
OpenSIPS to implementacja serwera Session Initiation Protocol (SIP). W wersjach przed 3.6.6 i 4.0.0-rc1 funkcja find_line_delimiter() w parserze treści multipart wykonuje odczyt poza zakresem przez strncmp() podczas wyszukiwania ograniczników granic MIME. Po znalezieniu wzorca -- w pobliżu końca treści, funkcja porównuje delimiter.len bajtów (zwykle 20-70) zaczynając od pozycji na lub za logicznym końcem bufora treści, czytając poza granicę treści. Błąd jest wyzwalany, gdy wiadomość SIP ma Content-Type: multipart/mixed z parametrem boundary, a jej treść zawiera -- w odległości dwóch do trzech bajtów od końca treści bez faktycznego ogranicznika granicy. Problem został naprawiony w wersjach 3.6.6 i 4.0.0-rc1.
- CVE-2026-45103Wysokie
W OpenSIPS przed wersjami 3.6.6 i 4.0.0-rc1 warstwa ramowania TCP analizuje nagłówek Content-Length przy użyciu arytmetyki na typie unsigned int bez sprawdzania przepełnienia. Atakujący może wysłać wartość Content-Length, która powoduje przepełnienie (np. 4294967296), co prowadzi do błędnego podziału strumienia TCP i przemycenia wiadomości SIP. Ponieważ parsowanie odbywa się przed uwierzytelnieniem, nieuwierzytelniony atakujący może przemycać dowolne wiadomości SIP przez dowolny transport TCP.
- CVE-2026-45084Wysokie
W OpenSIPS w wersjach od 3.4.0 do 3.6.5 występuje podatność na odmowę usługi w module obecności. Funkcja handle_publish() przetwarzając żądanie SIP PUBLISH z nagłówkiem Event: presence i ciałem wiadomości, gdy opcja enable_sphere_check=1, wywołuje makro get_content_type() bez wcześniejszego wywołania parse_content_type_hdr(), co prowadzi do dereferencji niezainicjalizowanego lub NULL-owego stanu parsowania Content-Type i awarii. Zdalny atakujący może spowodować odmowę usługi pojedynczym żądaniem PUBLISH przez UDP lub TCP.
Oryginalny opis (angielski, źródło NVD)
OpenSIPS versions 3.1 before 3.6.4 containing the auth_jwt module (prior to commit 3822d33) contain a SQL injection vulnerability in the jwt_db_authorize() function in modules/auth_jwt/authorize.c when db_mode is enabled and a SQL database backend is used. The function extracts the tag claim from a JWT without prior signature verification and incorporates the unescaped value directly into a SQL query. An attacker can supply a crafted JWT with a malicious tag claim to manipulate the query result and bypass JWT authentication, allowing impersonation of arbitrary identities.

