CVE-2024-4764
Critical · 9.8CVSS
9.8
EPSS
0.6%
Published
May 14, 2024
CISA due date
—
Cloudanix analysis
A problem in Firefox's handling of live audio connections during web calls could let attackers seize control of a user's browser simply by getting them to visit a harmful website.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Full Compromise
- Component
- Application
- Class
- Use After Free
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Use-after-free in WebRTC audio input handling where multiple threads can claim a newly connected audio input, leading to memory corruption and potential arbitrary code execution.
Why it matters to the business
Remote attackers could compromise browsers, enabling theft of credentials, session hijacking, or further network access without user interaction beyond visiting a malicious site.
How an attack unfolds
An attacker serves a webpage that initiates concurrent WebRTC audio streams to trigger a race condition on audio input claim, freeing memory while still referenced to achieve code execution in the browser process.
How to fix it
Upgrade Firefox to version 126 or later to resolve the race condition in WebRTC audio handling.
How to confirm the fix worked
Confirm installed Firefox version is 126 or newer; exercise WebRTC audio features in a test environment to ensure no crashes occur on input connection.
Typical attack path
- Host malicious webpage containing WebRTC audio input code
- Lure user to load the page via phishing or compromised site
- Trigger multiple threads to simultaneously claim the audio input
- Exploit resulting use-after-free for memory corruption and code execution
How to detect it
Review browser crash logs and process dumps for WebRTC audio thread anomalies; inspect network traffic for unexpected WebRTC media streams from untrusted origins.
What your security team should do
- Immediately deploy Firefox 126+ across all endpoints
- Block or sandbox WebRTC where not required via enterprise policy
- Monitor browser crash reports for WebRTC-related use-after-free signatures
The record
Multiple WebRTC threads could have claimed a newly connected audio input leading to use-after-free. This vulnerability affects Firefox < 126.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Ubuntu:18.04:LTS | mozjs38 | 0 | No fix |
| Ubuntu:18.04:LTS | mozjs52 | 0 | No fix |
| Ubuntu:20.04:LTS | firefox | 0 | 126.0+build2-0ubuntu0.20.04.1 |
| Ubuntu:20.04:LTS | mozjs52 | 0 | No fix |
| Ubuntu:20.04:LTS | mozjs68 | 0 | No fix |
| Ubuntu:22.04:LTS | mozjs102 | 0 | No fix |
| Ubuntu:22.04:LTS | mozjs78 | 0 | No fix |
| Ubuntu:22.04:LTS | mozjs91 | 0 | No fix |
| Ubuntu:24.04:LTS | mozjs102 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | mozjs38 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | mozjs52 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | mozjs52 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | mozjs68 | 0 | No fix |
| openSUSE:Tumbleweed | MozillaFirefox | 0 | 126.0-1.1 |
| openSUSE:Tumbleweed | firefox-esr | 0 | 128.5.1-1.1 |
Related vulnerabilities
- CVE-2025-0243 Memory safety bugs present in Firefox 133, Thunderbird 133, Firefox ESR 128.5, and… Also affects mozjs38
- CVE-2025-0237 The WebChannel API, which is used to transport various information across processes, did… Also affects mozjs38
- CVE-2025-0238 Assuming a controlled failed memory allocation, an attacker could have caused a… Also affects mozjs38
- CVE-2025-0240 Parsing a JavaScript module as JSON could, under some circumstances, cause… Also affects mozjs38
- CVE-2025-0239 When using Alt-Svc, ALPN did not properly validate certificates when the original server… Also affects mozjs38
- CVE-2025-0241 When segmenting specially crafted text, segmentation would corrupt memory leading to a… Also affects mozjs38
- CVE-2025-0242 Memory safety bugs present in Firefox 133, Thunderbird 133, Firefox ESR 115.18, Firefox… Also affects mozjs38
- CVE-2024-11704 A double-free issue could have occurred in `sec_pkcs7_decoder_start_decrypt()` when… Also affects mozjs38