Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain trusted-issuer cert with embedded-NUL DNS SAN
-
DeliveryGain man-in-the-middle position on TLS/SIPS link
-
ExploitPresent crafted cert on intercepted connection
-
ExecutionSAN truncated at NUL, accepted for prefix hostname
-
PersistImpersonate SIP server and complete session
-
ImpactCapture REGISTER credentials
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V12 - Secure Communication Certificate validation
|
| Exploitation Conditions | Exploitation requires ALL of: (1) the PJSIP TLS/SIPS transport with server verification enabled via --tls-verify-server (default-off verification path); (2) the OpenSSL or GnuTLS backend specifically - the mbedTLS backend is NOT affected because it preserves explicit string length; (3) the attacker possessing a certificate issued by a trusted CA whose DNS SubjectAltName contains the target hostname prefix, an embedded NUL byte, and an attacker-controlled suffix (a significant barrier, since compliant public CAs reject embedded-NUL SANs, implying a mis-issuing, private, or compromised issuer); and (4) a man-in-the-middle/on-path interception position on the SIP TLS connection. These conditions - the crafted trusted cert and the MITM position - are what raise attack complexity and prevent mass, opportunistic exploitation despite the network, unauthenticated vector. |
| Impact | This is a genuine but conditionally-gated TLS certificate-validation flaw (CWE-295), not a high-CVSS-but-hollow issue, though several friction factors keep it out of the top-priority tier. The provided CVSS 3.1 vector (AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N, 7.4) is internally consistent with the description: network vector, unauthenticated, but high attack complexity because the attacker must both possess a certificate from a trusted issuer containing an embedded-NUL DNS SubjectAltName AND hold a man-in-the-middle interception position. No EPSS score, KEV entry, or standalone POC is provided; per the precision rule this is 'no public exploit identified at time of analysis,' although a vendor security advisory (GHSA-382p-87mh-r3q8) and the fixing commit diff are published, so the technical mechanism is fully disclosed and reproducible by a skilled attacker. No SSVC data is supplied. The hardest real-world barrier is obtaining a CA-signed cert whose SAN contains a NUL byte - modern public CAs reject embedded NULs, so practical exploitation likely depends on a mis-issuing/private CA or a compromised issuer, which is why AC:H is appropriate and why this is a MITM/impersonation risk rather than a mass-exploitable one. Note the input tag 'Information Disclosure' understates the impact: the flaw enables active server impersonation and session hijack (I:H), not merely passive disclosure. |
| Exploit ScenarioDerived | An attacker who can intercept a PJSIP softphone's TLS/SIPS connection (e.g., on-path on a hostile network) presents a trusted-issuer certificate whose DNS SAN is 'sip.target.example\0.attacker.example'. Because the OpenSSL/GnuTLS backends copy the SAN with length-recalculating string functions, the value is truncated at the NUL and accepted as valid for 'sip.target.example', letting the attacker impersonate the real server, complete the SIP session, and harvest the client's REGISTER credentials. No public exploit is identified, but the vendor advisory and fix commit fully describe the mechanism. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 18, 2026
TLS server identity verification bypass in PJSIP 2.17 and earlier can let an on-path attacker impersonate a SIP server and capture REGISTER credentials. The OpenSSL and GnuTLS backends in pjlib/src/pj/ssl_sock_ossl.c and pjlib/src/pj/ssl_sock_gtls.c copy DNS SubjectAltName values using string functions that recompute length and therefore truncate at an embedded NUL byte, so when server verification is enabled through --tls-verify-server, a certificate whose DNS SAN is the target hostname prefix followed by an embedded NUL and an attacker-controlled suffix is accepted for the prefix hostname. No public exploit code or confirmed active exploitation (no CISA KEV listing) was identified at time of analysis, and exploitation remains gated on the attacker holding such a certificate from a trusted issuer - compliant public CAs reject embedded-NUL SANs - plus an on-path interception position, which is what drives the high attack complexity even though the vector is network-reachable and unauthenticated.
RemediationAI
No vendor-released patched version is identified at time of analysis; upstream fix available (PR/commit 43d3bd77bb6833eab4c493503b8d564a754ddfdd in pjproject's pjlib/src/pj/ssl_sock_ossl.c and pjlib/src/pj/ssl_sock_gtls.c), with a released patched version not independently confirmed - apply that commit or a subsequent release that includes it, and track the advisory at https://github.com/pjsip/pjproject/security/advisories/GHSA-382p-87mh-r3q8 for an official fixed version. The strongest available workaround is to build and run PJSIP against the mbedTLS backend instead of OpenSSL or GnuTLS, since mbedTLS preserves the explicit ASN.1 length and is not affected; the trade-off is a different TLS stack that may alter cipher-suite, session-resumption, and platform-integration behaviour and must be regression-tested against existing SIP/TLS peers. Certificate pinning of the expected SIP server certificate (or constraining the trust store to a private CA that rejects embedded-NUL SANs, and monitoring for mis-issued or anomalous certificates) reduces exposure for the affected backends, at the cost of operational overhead on certificate rotation and renewal; disabling --tls-verify-server is not an acceptable mitigation because it removes verification entirely and worsens the exposure rather than compensating for it.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw is an improper certificate validation issue (CWE-295) in the PJSIP/pjproject TLS transport, affecting the OpenSSL backend (pjlib/src/pj/ssl_sock_ossl.c) and the GnuTLS backend (pjlib/src/pj/ssl_sock_gtls.c). When extracting certificate information, both backends pass the DNS SubjectAltName value to pj_strdup2(), which treats the ASN.1 string as a NUL-terminated C string and recalculates its length, silently discarding everything after an embedded NUL byte. X.509 SAN entries carry an explicit ASN.1 length, so a certificate containing a DNS SAN such as "sip.example.com\0.attacker.tld" is truncated to "sip.example.com" during identity extraction and then compared against the target hostname, which matches. The mbedTLS backend is unaffected because it preserves the explicit string length rather than relying on strlen semantics. Because this affects the identity-extraction path used when server verification is active, any deployment using the OpenSSL or GnuTLS backend with --tls-verify-server engaged relies on a hostname match that can be forged by a mis-issuing, private, or compromised CA rather than by a public CA enforcing standard SAN encoding rules.
Know when Pjsip gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
AC:H because the attacker needs both a trusted-issuer cert with an embedded-NUL SAN and a MITM position; PR:N/UI:N since no client credentials or interaction are needed; C:H/I:H for credential theft and server impersonation, A:N.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
DescriptionCVE.org
PJSIP is a free and open source multimedia communication library written in C. In 2.17 and earlier, the OpenSSL and GnuTLS backends in pjlib/src/pj/ssl_sock_ossl.c and pjlib/src/pj/ssl_sock_gtls.c copy DNS SubjectAltName values with string functions that recalculate their length and truncate an embedded NUL byte. With server verification enabled through --tls-verify-server for the PJSIP TLS/SIPS transport, a certificate containing a DNS SubjectAltName formed from the target hostname prefix followed by an embedded NUL and an attacker-controlled suffix can therefore be accepted for the prefix hostname. An attacker who possesses such a certificate from a trusted issuer and can intercept the connection can impersonate the target server, complete the SIP session, and receive REGISTER credentials. The mbedTLS backend is not affected because it preserves the explicit string length. No fixed version is available as of this review.
Technical POC Analysis
CWE-295 (Improper Certificate Validation), also mapped to CWE-297 by the advisory.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
PJSIP 2.17 and earlier, a widely deployed SIP stack used in VoIP and unified communications platforms, contains a TLS server identity verification bypass that could allow an on-path attacker to impersonate a trusted SIP server and capture authentication credentials. This puts voice communications and account credentials at risk for organizations using affected versions with TLS server verification enabled. No public exploit code or confirmed active exploitation was identified at time of analysis, and successful attacks require a trusted certificate with an embedded NUL byte plus network interception, but the lack of a vendor patch means leadership should prioritize mitigation planning.
No vendor-released patch identified at time of analysis. Interim mitigations include certificate pinning for SIP/TLS connections, restricting SIP traffic to trusted network segments, monitoring for anomalous REGISTER activity, and using a TLS-terminating proxy that performs strict SAN validation before forwarding to PJSIP. Apply vendor patch once available.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
PJSIP is a free and open source multimedia communication library. Rated critical severity (CVSS 9.1), this vulnerability
PJSIP is a free and open source multimedia communication library written in C language implementing standard based proto
An issue was discovered in Teluu pjproject (pjlib and pjlib-util) in PJSIP before 2.7.1. Rated critical severity (CVSS 9
Buffer overflow in PJSIP multimedia library version 2.16 and earlier in PJNATH ICE implementation. Patch available. Affe
Heap overflow in PJSIP 2.16 and earlier DNS parser allows unauthenticated remote attackers to achieve code execution wit
PJSIP is a free and open source multimedia communication library written in C with high level API in C, C++, Java, C#, a
PJSIP is a free and open source multimedia communication library written in C language implementing standard based proto
PJSIP is a free and open source multimedia communication library written in C language implementing standard based proto
PJSIP is a free and open source multimedia communication library written in C. Rated critical severity (CVSS 9.8), this
PJSIP is a free and open source multimedia communication library written in C language implementing standard based proto
PJSIP is a free and open source multimedia communication library written in C. Rated critical severity (CVSS 9.8), this
PJSIP is a free and open source multimedia communication library written in C language. Rated critical severity (CVSS 9.
EUVD-2026-83197
NVD
CVE.org
EPSS
GitHub
VulDB
Exploit-DB