CVE-2026-45103
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 25 - wyżej niż 25% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Przemycone wiadomości SIP mogą ominąć polityki bezpieczeństwa front-endowych SBC/proxy, dziedziczyć kontekst uwierzytelnienia połączenia i unikać limitów szybkości, co może prowadzić do nieautoryzowanych operacji i naruszenia integralności sesji.
Rekomendacja
Zaleca się natychmiastową aktualizację OpenSIPS do wersji 3.6.6 lub 4.0.0-rc1, które zawierają poprawkę. Jeśli aktualizacja nie jest możliwa, należy ograniczyć dostęp do serwera SIP z zaufanych sieci.
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-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.
- CVE-2026-25554Średnie
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.
Oryginalny opis (angielski, źródło NVD)
OpenSIPS is a Session Initiation Protocol (SIP) server implementation. In versions prior to 3.6.6 and 4.0.0-rc1, the TCP message framing layer parses the Content-Length header using unsigned int arithmetic with no overflow check. When an attacker sends a Content-Length value that overflows unsigned int (e.g., 4294967296), the framing layer computes a wrapped-around value (e.g., 0) and splits the TCP stream at the wrong boundary, causing the body of the first SIP message to be processed as a separate message and enabling SIP message smuggling. Because Content-Length is parsed in the transport layer before authentication, an unauthenticated, network-based attacker can smuggle arbitrary SIP messages over any TCP-based transport (proto_tcp, proto_tls, proto_ws, proto_wss) on any instance with TCP enabled, with no routing-script preconditions. This allows smuggled messages to bypass front-end SBC/proxy security policies, inherit the connection's authentication context, and evade rate limiting. This issue has been fixed in versions 3.6.6 and 4.0.0-rc1.

