CVE-2026-45537
📛 CVE Title
OpenSIPS: Global Buffer Overflow in construct_uri
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.
Overview
- State
- PUBLISHED
- Assigner (CNA)
- GitHub_M
- CVSS severity
- CRITICAL
- CVSS score
- 9.1 / 10
- CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H- Effective score
- 9.1 / 10 CRITICAL source: CNA overview
- CWE(s)
-
CWE-120 - Reserved
- 2026-05-12
- Published
- 2026-08-04 22:48 UTC
- Last updated
- 2026-08-04 22:48 UTC
- Source
- https://raw.githubusercontent.com/CVEProject/cvelistV5/main/cves/2026/45xxx/CVE-2026-45537.json
- Linked Threat
- CVE-2026-45537 — OpenSIPS: Global Buffer Overflow in construct_uri
Affected products (1)
| Vendor | Product | Versions | Platforms |
|---|---|---|---|
| OpenSIPS | opensips |
>= 3.4.0, < 3.6.6 (affected),
>= 4.0.0-beta, < 4.0.0-rc1 (affected)
|
— |
Vendor references (3)
References embedded in the original CVE record by the assigning CNA.
- https://github.com/OpenSIPS/opensips/security/advisories/GHSA-v7h4-fwrc-c66v x_refsource_CONFIRM
- https://github.com/OpenSIPS/opensips/commit/4d23613b65579b073784a07a65d3bf52443a4efb x_refsource_MISC
- https://github.com/OpenSIPS/opensips/commit/5f103effaf5f372cccffe0b138f16998eba12668 x_refsource_MISC
Web references (0)
DuckDuckGo results ranked by threat-intel / vendor advisory domains. Generated by the 🔎 Find references (web) button above — same flow as the Remediations search.
No web references attached yet.
AI Forensic Analysis
Only Available for Registered Users. Sign in to view.
Raw JSON
The full cvelistV5 record. Download as CVE-2026-45537.json.
{
"containers": {
"cna": {
"affected": [
{
"product": "opensips",
"vendor": "OpenSIPS",
"versions": [
{
"status": "affected",
"version": ">= 3.4.0, < 3.6.6"
},
{
"status": "affected",
"version": ">= 4.0.0-beta, < 4.0.0-rc1"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "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."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "HIGH",
"baseScore": 9.1,
"baseSeverity": "CRITICAL",
"confidentialityImpact": "NONE",
"integrityImpact": "HIGH",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-120",
"description": "CWE-120: Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-08-04T22:48:43.580Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/OpenSIPS/opensips/security/advisories/GHSA-v7h4-fwrc-c66v",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/OpenSIPS/opensips/security/advisories/GHSA-v7h4-fwrc-c66v"
},
{
"name": "https://github.com/OpenSIPS/opensips/commit/4d23613b65579b073784a07a65d3bf52443a4efb",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/OpenSIPS/opensips/commit/4d23613b65579b073784a07a65d3bf52443a4efb"
},
{
"name": "https://github.com/OpenSIPS/opensips/commit/5f103effaf5f372cccffe0b138f16998eba12668",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/OpenSIPS/opensips/commit/5f103effaf5f372cccffe0b138f16998eba12668"
}
],
"source": {
"advisory": "GHSA-v7h4-fwrc-c66v",
"discovery": "UNKNOWN"
},
"title": "OpenSIPS: Global Buffer Overflow in construct_uri"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-45537",
"datePublished": "2026-08-04T22:48:43.580Z",
"dateReserved": "2026-05-12T17:48:47.878Z",
"dateUpdated": "2026-08-04T22:48:43.580Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}