CVE-2022-23608 - Use After Free

Severity

98%

Complexity

39%

Confidentiality

98%

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.

CVSS 3.1 Base Score 9.8. CVSS Attack Vector: network. CVSS Attack Complexity: low. CVSS Vector: (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H).

CVSS 2.0 Base Score 7.5. CVSS Attack Vector: network. CVSS Attack Complexity: low. CVSS Vector: (AV:N/AC:L/Au:N/C:P/I:P/A:P).

Demo Examples

Use After Free

CWE-416

The following example demonstrates the weakness.


               
}
free(buf3R2);

Use After Free

CWE-416

The following code illustrates a use after free error:


               
}
free(ptr);
logError("operation aborted before commit", ptr);

When an error occurs, the pointer is immediately freed. However, this pointer is later incorrectly used in the logError function.

Overview

First reported 3 years ago

2022-02-22 20:15:00

Last updated 2 years ago

2022-11-18 16:15:00

Affected Software

Debian Linux 9.0

9.0

References

https://github.com/pjsip/pjproject/security/advisories/GHSA-ffff-m5fm-qm62

https://github.com/pjsip/pjproject/commit/db3235953baa56d2fb0e276ca510fefca751643f

https://github.com/pjsip/pjproject/security/advisories/GHSA-ffff-m5fm-qm62

Issue Tracking, Patch, Third Party Advisory

https://github.com/pjsip/pjproject/commit/db3235953baa56d2fb0e276ca510fefca751643f

Patch, Third Party Advisory

20220304 AST-2022-005: pjproject: undefined behavior after freeing a dialog set

http://packetstormsecurity.com/files/166226/Asterisk-Project-Security-Advisory-AST-2022-005.html

[debian-lts-announce] 20220328 [SECURITY] [DLA 2962-1] pjproject security update

[debian-lts-announce] 20220331 [SECURITY] [DLA 2962-2] pjproject regression update

20220304 AST-2022-005: pjproject: undefined behavior after freeing a dialog set

Mailing List, Patch, Third Party Advisory

http://packetstormsecurity.com/files/166226/Asterisk-Project-Security-Advisory-AST-2022-005.html

Third Party Advisory

[debian-lts-announce] 20220328 [SECURITY] [DLA 2962-1] pjproject security update

Third Party Advisory

[debian-lts-announce] 20220331 [SECURITY] [DLA 2962-2] pjproject regression update

Third Party Advisory

GLSA-202210-37

http://packetstormsecurity.com/files/166226/Asterisk-Project-Security-Advisory-AST-2022-005.html

Third Party Advisory, VDB Entry

[debian-lts-announce] 20220328 [SECURITY] [DLA 2962-1] pjproject security update

Mailing List, Third Party Advisory

[debian-lts-announce] 20220331 [SECURITY] [DLA 2962-2] pjproject regression update

Mailing List, Third Party Advisory

GLSA-202210-37

Third Party Advisory

[debian-lts-announce] 20221117 [SECURITY] [DLA 3194-1] asterisk security update

DSA-5285

Stay updated

ExploitPedia is constantly evolving. Sign up to receive a notification when we release additional functionality.

Get in touch

If you'd like to report a bug or have any suggestions for improvements then please do get in touch with us using this form. We will get back to you as soon as we can.