Asterisk Security Team
2021-Feb-18 17:37 UTC
[asterisk-users] AST-2021-005: Remote Crash Vulnerability in PJSIP channel driver
Asterisk Project Security Advisory - AST-2021-005 Product Asterisk Summary Remote Crash Vulnerability in PJSIP channel driver Nature of Advisory Denial of Service Susceptibility Remote Unauthenticated Sessions Severity Moderate Exploits Known No Reported On December 4, 2020 Reported By Mauri de Souza Meneguzzo (3CPlus) Posted On February 8, 2021 Last Updated On February 8, 2021 Advisory Contact Jcolp AT sangoma DOT com CVE Name CVE-2021-26906 Description Given a scenario where an outgoing call is placed from Asterisk to a remote SIP server it is possible for a crash to occur. The code responsible for negotiating SDP in SIP responses incorrectly assumes that SDP negotiation will always be successful. If a SIP response containing an SDP that can not be negotiated is received a subsequent SDP negotiation on the same call can cause a crash. If the “accept_multiple_sdp_answers” option in the “system” section of pjsip.conf is set to “yes” then any subsequent non-forked SIP response with SDP can trigger this crash. If the “follow_early_media_fork” option in the “system” section of pjsip.conf is set to “yes” (the default) then any subsequent SIP responses with SDP from a forked destination can trigger this crash. If a 200 OK with SDP is received from a forked destination it can also trigger this crash, even if the “follow_early_media_fork” option is not set to “yes”. In all cases this relies on a race condition with tight timing where the second SDP negotiation occurs before termination of the call due to the initial SDP negotiation failure. Modules Affected res_pjsip_session.c, PJSIP Resolution The issue has been fixed in PJSIP by changing the behavior of the pjmedia_sdp_neg_modify_local_offer2 function. If SDP was previously negotiated the code no longer assumes that it was successful and instead checks that SDP was negotiated. This issue can only be resolved by upgrading to a fixed version or applying the provided patch. Affected Versions Product Release Series Asterisk Open Source 13.x All versions Asterisk Open Source 16.x All versions Asterisk Open Source 17.x All versions Asterisk Open Source 18.x All versions Certified Asterisk 16.x All versions Corrected In Product Release Asterisk Open Source 13.38.2, 16.16.1, 17.9.2, 18.2.1 Certified Asterisk 16.8-cert6 Patches Patch URL Revision https://downloads.asterisk.org/pub/security/AST-2021-005-13.diff Asterisk 13 https://downloads.asterisk.org/pub/security/AST-2021-005-16.diff Asterisk 16 https://downloads.asterisk.org/pub/security/AST-2021-005-17.diff Asterisk 17 https://downloads.asterisk.org/pub/security/AST-2021-005-18.diff Asterisk 18 https://downloads.asterisk.org/pub/security/AST-2021-005-16.8.diff Certified Asterisk 16.8 Links https://issues.asterisk.org/jira/browse/ASTERISK-29196 https://downloads.asterisk.org/pub/security/AST-2021-005.html Asterisk Project Security Advisories are posted at http://www.asterisk.org/security This document may be superseded by later versions; if so, the latest version will be posted at http://downloads.digium.com/pub/security/AST-2021-005.pdf and http://downloads.digium.com/pub/security/AST-2021-005.html Revision History Date Editor Revisions Made February 8, 2021 Joshua Colp Initial revision Asterisk Project Security Advisory - AST-2021-005 Copyright © 2021 Digium, Inc. All Rights Reserved. Permission is hereby granted to distribute and publish this advisory in its original, unaltered form.