Impact
The vulnerability lies in the OpenSIPS presence module’s handle_publish() function, which uses the get_content_type() macro without prior parsing of the Content-Type header. When a SIP PUBLISH request carries an Event: presence header and a message body, but the enable_sphere_check option is set to 1, the code dereferences uninitialized or NULL content type state. This results in a crash of the SIP server, freezing the instance. The exploit is straightforward: a single crafted PUBLISH message is sufficient to trigger the crash. The flaw does not require prior authentication, although an application’s routing rules might add an extra barrier before reaching the vulnerable code path.
Affected Systems
OpenSIPS server implementations, specifically versions 3.4.0 through 3.6.5, are affected. The issue has been resolved in 3.6.6 and the 4.0.0‑rc1 releases. Systems running these vulnerable versions must be upgraded to mitigate the risk.
Risk and Exploitability
With a CVSS score of 8.7, this is a high‑severity denial of service. The exploit probability is undefined (no EPSS available), and it is not listed in the CISA KEV catalog. The vulnerability can be triggered remotely over UDP or TCP by sending a single PUBLISH request, either with a valid Content‑Type: application/pidf+xml header or with the header omitted, regardless of whether the request is authenticated. The denial of service occurs as soon as the OpenSIPS process crashes, potentially impacting all SIP services on the host.
OpenCVE Enrichment