Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:U/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
Overflow is driven by an operator/application-provisioned digest credential, so an attacker must control that config data (PR:H) via a local/config path (AV:L); memory corruption yields high C/I/A.
Primary rating from GitHub Advisory.
CVSS VectorGitHub Advisory
Lifecycle Timeline
5DescriptionGitHub Advisory
PJSIP is a free and open source multimedia communication library written in C. In 2.16 and earlier, a stack buffer overflow exists in pjsip_auth_create_digest2() in PJSIP when using pre-computed digest credentials (PJSIP_CRED_DATA_DIGEST). The function copies credential data using cred_info->data.slen as the length without an upper-bound check, which can overflow the fixed-size ha1 stack buffer (128 bytes) if data.slen exceeds the expected digest string length.
AnalysisAI
Stack buffer overflow in PJSIP (pjproject) 2.16 and earlier occurs in pjsip_auth_create_digest2() when an application authenticates using pre-computed digest credentials (PJSIP_CRED_DATA_DIGEST). The function pj_memcpy's cred_info->data.slen bytes into a fixed 128-byte ha1 stack buffer with no upper-bound check (CWE-121), so an over-length credential string corrupts adjacent stack memory and can cause a crash or potentially code execution. No public exploit identified at time of analysis; EPSS is very low (0.04%, 13th percentile) and it is not in CISA KEV, though CISA SSVC rates technical impact as total and automatable as yes.
Technical ContextAI
PJSIP/pjproject is a widely embedded open-source C library implementing SIP, SDP, RTP/RTCP, STUN, ICE and related VoIP/multimedia signaling; it is the SIP stack underneath Asterisk chan_pjsip and many softphones, SBCs, and embedded VoIP endpoints. The defect lives in the SIP digest authentication client path (sip_auth_client.c). When credentials are supplied as credential-data type PJSIP_CRED_DATA_DIGEST, the caller passes a pre-computed HA1 digest value rather than a plaintext password, and pjsip_auth_create_digest2() copies that value into a fixed 128-byte on-stack ha1 buffer. A legitimate MD5 HA1 is a 32-character hex string (SHA variants longer but still bounded), so the buffer is generously sized for valid input. The root cause is CWE-121 (stack-based buffer overflow): the copy length is taken from the supplied data.slen instead of the expected digest_strlen, allowing writes past the buffer. The upstream fix (commit c82123ea) changes pj_memcpy to use digest_strlen as the bounded length.
RemediationAI
Upstream fix available (commit c82123ea6f3c3652bbc9ebd5e9e658c301451687); a released, tagged patched version is not independently confirmed from the provided data, so track the vendor advisory GHSA-2wcg-w3c4-48r7 (https://github.com/pjsip/pjproject/security/advisories/GHSA-2wcg-w3c4-48r7) for the patched release and rebuild any product that statically links pjproject. The code fix bounds the copy to digest_strlen instead of cred_info->data.slen (https://github.com/pjsip/pjproject/commit/c82123ea6f3c3652bbc9ebd5e9e658c301451687). Until a tagged release is applied, the most direct compensating control is to avoid the vulnerable code path: where feasible use plaintext password credentials (PJSIP_CRED_DATA_PLAIN_PASSWD) instead of PJSIP_CRED_DATA_DIGEST pre-computed digests, which sidesteps the unchecked copy at the cost of handling/storing plaintext secrets; alternatively, validate and cap the length of any pre-computed digest credential (to the expected 32-hex-char MD5 HA1 or the relevant SHA length) before passing it into pjsip_auth_create_digest2(), and restrict and verify the trustworthiness of whatever source provisions those credentials. Backporting the one-line commit into your own build is the cleanest interim mitigation if you compile pjproject yourself.
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.
Same weakness CWE-121 – Stack-based Buffer Overflow
View allSame technique Buffer Overflow
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-24469