Description
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.
Published: 2026-08-04
Score: 9.1 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability is a global buffer overflow in the construct_uri() function of OpenSIPS. When a SIP routing script passes a username that together with other URI components exceeds 1024 bytes, the function writes beyond the fixed buffer and corrupts adjacent global data. The overflow can deterministically set the disable_503_translation flag, thereby altering the server’s handling of SIP 503 responses and the routing of subsequent messages. The same buffer is also shared with contact_builder(), so repeated requests with a long username further corrupt that function’s data, potentially leading to service disruption and unauthorized routing.

Affected Systems

OpenSIPS implementations prior to version 3.6.6 and the 4.0.0‑rc1 release candidate are affected. Those releases employ a fixed 1024‑byte global buffer for URI construction without bounds checking, making them vulnerable to the overflow.

Risk and Exploitability

With a CVSS score of 9.1 the vulnerability is considered critical. The EPSS score is not available, and it is not listed in CISA KEV. The attack vector is remote, as the overflow occurs during the processing of external SIP requests. An attacker can craft a username long enough to overflow the buffer and manipulate global state, leading to deterministic changes in routing behavior or denial of service. Because the corruption persists across requests and memory sanitizers are absent, the exploitation likelihood is high in environments where the vulnerable OpenSIPS instance processes untrusted SIP traffic.

Generated by OpenCVE AI on August 5, 2026 at 00:34 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade OpenSIPS to version 3.6.6 or later, or to the 4.0.0‑rc1 release candidate, which includes the fix for the construct_uri buffer overflow.
  • If upgrading immediately is not feasible, modify routing scripts to enforce a strict maximum length on the username component—reject or truncate usernames that would cause the constructed URI to exceed 1024 bytes.
  • Monitor SIP traffic for unexpected 503 response handling or routing anomalies, and consider temporarily disabling the server’s 503 translation feature or isolating affected traffic until the patch is applied.

Generated by OpenCVE AI on August 5, 2026 at 00:34 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 05 Aug 2026 18:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Wed, 05 Aug 2026 00:45:00 +0000

Type Values Removed Values Added
First Time appeared Opensips
Opensips opensips
Vendors & Products Opensips
Opensips opensips

Tue, 04 Aug 2026 23:00:00 +0000

Type Values Removed Values Added
Description 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.
Title OpenSIPS: Global Buffer Overflow in construct_uri
Weaknesses CWE-120
References
Metrics cvssV3_1

{'score': 9.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H'}


Subscriptions

Opensips Opensips
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-05T17:48:44.922Z

Reserved: 2026-05-12T17:48:47.878Z

Link: CVE-2026-45537

cve-icon Vulnrichment

Updated: 2026-08-05T17:48:34.277Z

cve-icon NVD

Status : Received

Published: 2026-08-04T23:16:51.687

Modified: 2026-08-05T18:17:11.353

Link: CVE-2026-45537

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-05T00:45:03Z

Weaknesses
  • CWE-120

    Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')