CVE Vulnerabilities

CVE-2022-23608

Use After Free

Published: Feb 22, 2022 | Modified: Nov 21, 2024
CVSS 3.x
9.8
CRITICAL
Source:
NVD
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS 2.x
7.5 HIGH
AV:N/AC:L/Au:N/C:P/I:P/A:P
RedHat/V2
RedHat/V3
Ubuntu
LOW

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 versions up to and including 2.11.1 when in a dialog set (or forking) scenario, a hash key shared by multiple UAC dialogs can potentially be prematurely freed when one of the dialogs is destroyed . The issue may cause a dialog set to be registered in the hash table multiple times (with different hash keys) leading to undefined behavior such as dialog list collision which eventually leading to endless loop. A patch is available in commit db3235953baa56d2fb0e276ca510fefca751643f which will be included in the next release. There are no known workarounds for this issue.

Weakness

The product reuses or references memory after it has been freed. At some point afterward, the memory may be allocated again and saved in another pointer, while the original pointer references a location somewhere within the new allocation. Any operations using the original pointer are no longer valid because the memory “belongs” to the code that operates on the new pointer.

Affected Software

Name Vendor Start Version End Version
Pjsip Teluu * 2.11.1 (including)
Asterisk Ubuntu bionic *
Asterisk Ubuntu focal *
Asterisk Ubuntu impish *
Asterisk Ubuntu kinetic *
Asterisk Ubuntu lunar *
Asterisk Ubuntu mantic *
Asterisk Ubuntu oracular *
Asterisk Ubuntu trusty *
Asterisk Ubuntu xenial *
Pjproject Ubuntu bionic *
Pjproject Ubuntu trusty *
Pjproject Ubuntu xenial *
Ring Ubuntu bionic *
Ring Ubuntu esm-apps/bionic *
Ring Ubuntu esm-apps/focal *
Ring Ubuntu focal *
Ring Ubuntu impish *
Ring Ubuntu trusty *
Ring Ubuntu xenial *

Potential Mitigations

References