CVE-2021-41158
What it is
FreeSWITCH is a Software Defined Telecom Stack enabling the digital transformation from proprietary telecom switches to a software implementation that runs on any commodity hardware. Prior to version 1.10.7, an attacker can perform a SIP digest leak attack against FreeSWITCH and receive the challenge response of a gateway configured on the FreeSWITCH server. This is done by challenging FreeSWITCH's SIP requests with the realm set to that of the gateway, thus forcing FreeSWITCH to respond with the challenge response which is based on the password of that targeted gateway. Abuse of this vulnerability allows attackers to potentially recover gateway passwords by performing a fast offline password cracking attack on the challenge response. The attacker does not require special network privileges, such as the ability to sniff the FreeSWITCH's network traffic, to exploit this issue. Instead, what is required for this attack to work is the ability to cause the victim server to send SIP request messages to the malicious party. Additionally, to exploit this issue, the attacker needs to specify the correct realm which might in some cases be considered secret. However, because many gateways are actually public, this information can easily be retrieved. The vulnerability appears to be due to the code which handles challenges in `sofia_reg.c`, `sofia_reg_handle_sip_r_challenge()` which does not check if the challenge is originating from the actual gateway. The lack of these checks allows arbitrary UACs (and gateways) to challenge any request sent by FreeSWITCH with the realm of the gateway being targeted. This issue is patched in version 10.10.7. Maintainers recommend that one should create an association between a SIP session for each gateway and its realm to make a check be put into place for this association when responding to challenges.
At a glance
- Exploitability
- Can be exploited over the network without logging in. Limited direct impact.
- Exploit odds
- 0.8% chance of exploitation in the next 30 days (EPSS).
- Fix
- A patch, advisory or fixed version is referenced. Upgrade or apply it.
Timeline
- PublishedDisclosed publicly on CVE.org and NVD
- Last updatedMost recent change to the record
Why it ranks here
- Exploited in the wild: no, CISA does not list it.
- Exploit odds: 0.8% in the next 30 days (EPSS).
- Severity: 5.8 MEDIUM (CVSS).
- Fix: a patch or advisory is linked.
Details
- Published
- Last modified
- Exploit probability
- 0.8% · EPSS, next 30 days
- Weakness
- CWE-200 · Information exposure
- Record status
- Modified
Affected
- Freeswitch < 1.10.7
Attack profile CVSS 3.1 · 5.8
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
- Scope
- Changed
- Confidentiality
- Low
- Integrity
- None
- Availability
- None
Raw vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N
Is it in your code?
Hand this to your coding agent. It searches your project for the affected products and checks versions. Nothing leaves your machine.
Read https://cve-list.com/agent/cve/CVE-2021-41158.md and follow it. Check whether this project is affected by CVE-2021-41158. Read only. Don't change anything and don't upload my code. Tell me yes, no or not sure, with the file as proof.
Fix and advisories
- http://seclists.org/fulldisclosure/2021/Oct/40
- https://github.com/signalwire/freeswitch/releases/tag/v1.10.7
- https://github.com/signalwire/freeswitch/security/advisories/GHSA-3v3f-99mv-qvj4
- http://seclists.org/fulldisclosure/2021/Oct/40
- https://github.com/signalwire/freeswitch/releases/tag/v1.10.7
- https://github.com/signalwire/freeswitch/security/advisories/GHSA-3v3f-99mv-qvj4
References
- http://seclists.org/fulldisclosure/2021/Oct/40
- https://github.com/signalwire/freeswitch/releases/tag/v1.10.7
- https://github.com/signalwire/freeswitch/security/advisories/GHSA-3v3f-99mv-qvj4
- http://seclists.org/fulldisclosure/2021/Oct/40
- https://github.com/signalwire/freeswitch/releases/tag/v1.10.7
- https://github.com/signalwire/freeswitch/security/advisories/GHSA-3v3f-99mv-qvj4