ZeroHour

CVE-2026-57161

mass

Stack buffer overflow in PJSIP PJSUA Service-Route handling leads to DoS

CVSS 4.0
8.8 high
EPSS
<1%p21
Published
()
Modified
AI analysis

PJSIP, a widely used open-source multimedia (SIP) communication library written in C, contains a stack buffer overflow (CWE-121) in update_service_route() in pjsua_acc.c, where Service-Route URIs from a 2xx response to REGISTER are stored into a fixed-size stack array without bounding the number of headers. An attacker who controls or compromises the registrar — or, on unprotected transports, any on-path attacker who spoofs a registration response — can supply an excessive number of Service-Route headers and write past the end of the array. Because the overwritten values are internal pointers rather than attacker-controlled data, the most likely outcome is unexpected application termination (denial of service), though memory corruption cannot be excluded; the flaw is rated 8.8 (High) under CVSS 4.0. Any application that registers using the PJSUA/PJSUA2 account API — described as the default registration path — is affected, including softphones, VoIP SDKs, and embedded clients built on this library. No public proof-of-concept, CISA KEV listing, or confirmed in-the-wild exploitation is known; EPSS estimates the 30-day exploitation probability at about 0.3%.

What to do: Rebuild applications that use the PJSUA/PJSUA2 registration path against PJSIP source at or including commit acc03b5, and confirm the commit is present in your build since no fixed release version is documented; watch the upstream project for an official release incorporating the fix. Prefer TLS-protected SIP transports so registration responses cannot be spoofed on-path, and ensure clients only accept responses from their configured registrar. Operators of softphone fleets or products embedding PJSIP should contact their vendor for patched builds and verify their product uses the affected PJSUA/PJSUA2 path.

Affected
PJSIP project (Teluu) PJSIP multimedia communication library — PJSUA/PJSUA2 account API registration path (update_service_route() in pjsua_accall versions prior to commit acc03b5 (no fixed release version number specified in the available data)
Estimated exposure
massplausibly 1M+ end users/installations of PJSUA-based softphone apps, SDKs and embedded VoIP clients (no public per-product install counts; exact figure unknown) — PJSIP is one of the most widely embedded open-source SIP client stacks and pjsua/pjsua2 is its default registration API, so it is redistributed inside a large number of softphone applications and VoIP SDKs, but no published install or…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

PJSIP is a free and open source multimedia communication library written in C. Prior to commit acc03b5, a stack buffer overflow exists in PJSUA when processing Service-Route headers in a registration response (update_service_route() in pjsua_acc.c). This affects applications that register using the PJSUA/PJSUA2 account API (the default registration path). The Service-Route URIs from a 2xx response to REGISTER are stored into a fixed-size array without bounding the number of headers; a registrar that returns an excessive number of Service-Route headers can write past the end of the array on the stack. The values written are internal pointers rather than arbitrary data, so the most likely impact is unexpected application termination (denial of service), though memory corruption cannot be excluded. The malicious response may come from a compromised or malicious registrar, or — over unprotected transports — a spoofed response. This issue has been patched via commit acc03b5.

Vendors
teluu
Products
pjsip
Weakness
CWE-121
Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

In the news

No ingested article mentions this CVE yet.