CVE-2026-45537
KrytyczneCVSS 9.1Streszczenie
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.
Ocena ryzyka
Ryzyko naruszenia integralności serwera SIP, zmiany logiki routingu i potencjalnego zakłócenia działania usług VoIP.
Rekomendacja
Zaktualizuj OpenSIPS do wersji 3.6.6 lub 4.0.0-rc1. Jeśli nie jest to możliwe, ogranicz dostęp do serwera i monitoruj nietypowe żądania SIP.
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 construct_uri() function concatenates multiple URI components (protocol, username, domain, port, params) into a fixed 1024-byte global BSS buffer without any bounds checking. When a routing script calls construct_uri() with an attacker-controlled username, a combined component length exceeding 1024 bytes overflows the buffer, corrupting adjacent global data with attacker-controlled content. The overflow reaches disable_503_translation, a global flag controlling SIP 503 response handling, allowing an attacker to deterministically set the flag via the URI username and alter the server's routing behavior for subsequent messages. Because the same buffer is shared with contact_builder(), the overflow also corrupts that function's data, and without a memory sanitizer the adjacent globals are silently overwritten on every request containing a long username. This issue has been fixed in versions 3.6.6 and 4.0.0-rc1.

