CVE Vulnerabilities

CVE-2020-28327

Improper Resource Shutdown or Release

Published: Nov 06, 2020 | Modified: Nov 21, 2024
CVSS 3.x
5.3
MEDIUM
Source:
NVD
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS 2.x
2.1 LOW
AV:N/AC:H/Au:S/C:N/I:N/A:P
RedHat/V2
RedHat/V3
Ubuntu
LOW
root.io logo minimus.io logo echo.ai logo

A res_pjsip_session crash was discovered in Asterisk Open Source 13.x before 13.37.1, 16.x before 16.14.1, 17.x before 17.8.1, and 18.x before 18.0.1. and Certified Asterisk before 16.8-cert5. Upon receiving a new SIP Invite, Asterisk did not return the created dialog locked or referenced. This caused a gap between the creation of the dialog object, and its next use by the thread that created it. Depending on some off-nominal circumstances and timing, it was possible for another thread to free said dialog in this gap. Asterisk could then crash when the dialog object, or any of its dependent objects, were dereferenced or accessed next by the initial-creation thread. Note, however, that this crash can only occur when using a connection-oriented protocol (e.g., TCP or TLS, but not UDP) for SIP transport. Also, the remote client must be authenticated, or Asterisk must be configured for anonymous calling.

Weakness

The product does not release or incorrectly releases a resource before it is made available for re-use.

Affected Software

NameVendorStart VersionEnd Version
Certified_asteriskDigium16.8 (including)16.8 (including)
Certified_asteriskDigium16.8-cert1-rc1 (including)16.8-cert1-rc1 (including)
Certified_asteriskDigium16.8-cert1-rc2 (including)16.8-cert1-rc2 (including)
Certified_asteriskDigium16.8-cert1-rc3 (including)16.8-cert1-rc3 (including)
Certified_asteriskDigium16.8-cert1-rc4 (including)16.8-cert1-rc4 (including)
Certified_asteriskDigium16.8-cert2 (including)16.8-cert2 (including)
Certified_asteriskDigium16.8-cert3 (including)16.8-cert3 (including)
Certified_asteriskDigium16.8-cert4 (including)16.8-cert4 (including)
Certified_asteriskDigium16.8-cert4-rc1 (including)16.8-cert4-rc1 (including)
Certified_asteriskDigium16.8-cert4-rc2 (including)16.8-cert4-rc2 (including)
Certified_asteriskDigium16.8-cert4-rc3 (including)16.8-cert4-rc3 (including)
Certified_asteriskDigium16.8-cert4-rc4 (including)16.8-cert4-rc4 (including)
AsteriskSangoma13.0.0 (including)13.37.1 (excluding)
AsteriskSangoma16.0.0 (including)16.14.1 (excluding)
AsteriskSangoma17.0.0 (including)17.8.1 (excluding)
AsteriskSangoma18.0.0 (including)18.0.1 (excluding)
AsteriskUbuntubionic*
AsteriskUbuntuesm-apps/bionic*
AsteriskUbuntuesm-apps/focal*
AsteriskUbuntuesm-apps/xenial*
AsteriskUbuntufocal*
AsteriskUbuntugroovy*
AsteriskUbuntutrusty*
AsteriskUbuntuupstream*
AsteriskUbuntuxenial*

Potential Mitigations

  • Use a language that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid.
  • For example, languages such as Java, Ruby, and Lisp perform automatic garbage collection that releases memory for objects that have been deallocated.

References