Potential integer underflow upon receiving STUN message in PJSIP (pjsip pjproject)
At a glance
- Source
- NVD
- EPSS
- EPSS 4.92 % · percentile 92 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- GitHub_M
- NVD status
- Modified
Description
PJSIP is a free and open source multimedia communication library written in C language implementing standard based protocols such as SIP, SDP, RTP, STUN, TURN, and ICE. In affected versions if the incoming STUN message contains an ERROR-CODE attribute, the header length is not checked before performing a subtraction operation, potentially resulting in an integer underflow scenario. This issue affects all users that use STUN. A malicious actor located within the victim’s network may forge and send a specially crafted UDP (STUN) message that could remotely execute arbitrary code on the victim’s machine. Users are advised to upgrade as soon as possible. There are no known workarounds.
Weaknesses (CWE)
- CWE-191 — Integer Underflow (Wrap or Wraparound)
References
- https://github.com/pjsip/pjproject/security/advisories/GHSA-2qpg-f6wf-w984
- https://github.com/pjsip/pjproject/commit/15663e3f37091069b8c98a7fce680dc04bc8e865
- http://seclists.org/fulldisclosure/2022/Mar/0
- http://packetstormsecurity.com/files/166225/Asterisk-Project-Security-Advisory-AST-2022-004.html
- https://lists.debian.org/debian-lts-announce/2022/03/msg00035.html
- https://security.gentoo.org/glsa/202210-37
- https://lists.debian.org/debian-lts-announce/2022/11/msg00021.html
- https://www.debian.org/security/2022/dsa-5285
- https://lists.debian.org/debian-lts-announce/2023/08/msg00038.html
- https://lists.debian.org/debian-lts-announce/2024/09/msg00030.html
Scores
| Version | Score | Vector | Scored by |
|---|---|---|---|
| CVSS 3.1 | HIGH 7.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L | GitHub_M |
| CVSS 3.1 | HIGH 7.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L | NVD · security-advisories@github.com (Secondary) |
| CVSS 3.1 | CRITICAL 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H | NVD · nvd@nist.gov (Primary) |
| CVSS 2.0 | HIGH 9.3 | AV:N/AC:M/Au:N/C:C/I:C/A:C | NVD · nvd@nist.gov (Primary) |
European references
- ENISA EUVD · EUVD-2021-24195
- GCVE · GCVE-0-2021-37706
CERT-FR advisories
- CERTFR-2022-AVI-410 — Multiples vulnérabilités dans les produits Fortinet · cert.ssi.gouv.fr
- CERTFR-2022-AVI-208 — Multiples vulnérabilités dans Asterisk · cert.ssi.gouv.fr
Affected configurations (NVD CPE)
cpe:2.3:a:teluu:pjsip:*:*:*:*:*:*:*:*≤ 2.11.1cpe:2.3:a:asterisk:certified_asterisk:*:*:*:*:*:*:*:*< 16.8.0cpe:2.3:a:asterisk:certified_asterisk:16.8.0:*:*:*:*:*:*:*cpe:2.3:a:asterisk:certified_asterisk:16.8.0:cert1:*:*:*:*:*:*cpe:2.3:a:asterisk:certified_asterisk:16.8.0:cert10:*:*:*:*:*:*cpe:2.3:a:asterisk:certified_asterisk:16.8.0:cert11:*:*:*:*:*:*cpe:2.3:a:asterisk:certified_asterisk:16.8.0:cert12:*:*:*:*:*:*cpe:2.3:a:asterisk:certified_asterisk:16.8.0:cert2:*:*:*:*:*:*cpe:2.3:a:asterisk:certified_asterisk:16.8.0:cert3:*:*:*:*:*:*cpe:2.3:a:asterisk:certified_asterisk:16.8.0:cert4:*:*:*:*:*:*cpe:2.3:a:asterisk:certified_asterisk:16.8.0:cert5:*:*:*:*:*:*cpe:2.3:a:asterisk:certified_asterisk:16.8.0:cert6:*:*:*:*:*:*cpe:2.3:a:asterisk:certified_asterisk:16.8.0:cert7:*:*:*:*:*:*cpe:2.3:a:asterisk:certified_asterisk:16.8.0:cert8:*:*:*:*:*:*cpe:2.3:a:asterisk:certified_asterisk:16.8.0:cert9:*:*:*:*:*:*cpe:2.3:a:sangoma:asterisk:*:*:*:*:*:*:*:*≥ 16.0.0 < 16.24.1cpe:2.3:a:sangoma:asterisk:*:*:*:*:*:*:*:*≥ 18.0.0 < 18.10.1cpe:2.3:a:sangoma:asterisk:*:*:*:*:*:*:*:*≥ 19.0.0 < 19.2.1cpe:2.3:o:debian:debian_linux:9.0:*:*:*:*:*:*:*cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:*
Affected products
| Product | Versions |
|---|---|
| pjsip · pjproject | affected <= 2.11.1 |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| CERT-FR (ANSSI) | Licence Ouverte / Etalab 2.0 |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |