CVE-2026-45100
KrytyczneCVSS 9.1Streszczenie
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.
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.

