CVE-2026-45100
KrytyczneCVSS 9.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 50 - wyżej niż 50% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Ryzyko zdalnego wykonania kodu lub awarii serwera SIP poprzez wysłanie wiadomości z dużym nagłówkiem, gdy skrypt routingu używa {s.b64encode} na danych kontrolowanych przez atakującego.
Rekomendacja
Zaktualizuj OpenSIPS do wersji 3.6.6 lub 4.0.0-rc1. Jeśli nie jest to możliwe, unikaj stosowania {s.b64encode} na danych zewnętrznych lub ogranicz rozmiar nagłówków.
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-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.
- 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. Versions 3.4.0-beta through 3.6.5 and 4.0.0-beta contain a buffer overflow in the {s.b64encode} string transformation. The size check for {s.b64encode} only verifies that the input fits within the 64 KB transformation buffer, but base64 encoding expands the data by roughly a third, so an input between about 49,153 and 65,535 bytes produces more output than the buffer can hold and overflows it by up to 21,844 bytes. Because these transformation buffers sit next to each other in memory and are reused for chained transformations, the overflow writes attacker-controlled data into the adjacent buffer and corrupts values used by later transformations processing the same SIP message. A remote attacker can trigger this by sending a SIP message with a large header value (roughly 50,000 bytes or more) when the routing script applies {s.b64encode} to attacker-controlled input, making exploitability dependent on the deployment's routing configuration. This issue has been fixed in versions 3.6.6 and 4.0.0-rc1.

