CVE-2021-21166
High · 8.8 CISA KEVCVSS
8.8
EPSS
24.0%
Published
Mar 9, 2021
CISA due date
Nov 17, 2021
Cloudanix analysis
An outdated browser could be taken over when someone visits a malicious web page, putting data and the device at risk.
- Exploitation
- Requires User Interaction
- Attacker needs
- None
- Complexity
- Low
- Impact
- Remote Code Execution
- Component
- Application
- Class
- Race Condition
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
This vulnerability is a race condition in Google Chrome's audio handling code prior to version 89.0.4389.72. A malicious web page can trigger unsafe concurrent access to memory, leading to heap corruption. In a successful exploit, the attacker may be able to execute code in the context of the Chrome renderer process and potentially chain the bug with a sandbox escape or privilege-escalation vulnerability to gain broader control of the host. The CVSS vector indicates network-based exploitation with low attack complexity, no authentication requirement, but user interaction is required because a victim must load attacker-controlled content.
Why it matters to the business
A successful attack can compromise an endpoint when a user visits a malicious or compromised website, exposing browser data, session tokens, credentials, and potentially enabling malware deployment if chained with additional exploits. Because this vulnerability is listed in CISA's Known Exploited Vulnerabilities catalog, has documented in-the-wild exploitation, and has been associated with commercial spyware activity, it should be treated as high priority even though it is older. Organizations with unmanaged browsers, legacy Linux distributions, or systems that do not enforce browser auto-updates may still be exposed.
How an attack unfolds
An attacker prepares a crafted HTML page designed to exercise Chrome's vulnerable audio code in a timing-sensitive way. The victim is lured to the page through phishing, watering-hole compromise, malvertising, or a link embedded in otherwise legitimate content. When the page is rendered by a vulnerable Chrome version, JavaScript and web audio operations attempt to trigger the data race, causing heap corruption. The exploit then attempts to gain controlled memory corruption and execute attacker-controlled code inside the browser renderer. In real-world campaigns, including activity associated with Candiru/SOURGUM/DevilsTongue, browser renderer exploits are commonly chained with additional vulnerabilities to escape the Chrome sandbox, persist, collect data, or install spyware. Exploitation is user-assisted but does not require credentials or prior access.
How to fix it
Upgrade Google Chrome to version 89.0.4389.72 or later. Because all currently supported Chrome releases are far beyond the fixed version, the practical remediation is to ensure Chrome and Chromium-based packages are on a supported, fully patched release through the vendor's stable channel. For Fedora and Debian systems, apply the relevant distribution security updates for Chromium/Chrome packages and confirm no legacy browser packages remain installed. Enforce automatic browser updates, remove unsupported Chromium builds, and restrict execution of unmanaged portable browsers. If immediate patching is not possible, reduce exposure by limiting access to untrusted websites, using web isolation for high-risk browsing, disabling or restricting JavaScript where operationally feasible, and ensuring endpoint protection and exploit mitigation features are enabled; these are temporary risk reductions, not substitutes for patching.
How to confirm the fix worked
Confirm the installed browser version is 89.0.4389.72 or later, preferably the latest stable release. On endpoints, check Chrome through chrome://version, enterprise browser management, package inventory, or commands such as `google-chrome --version`, `chromium --version`, `rpm -q chromium google-chrome-stable`, or `dpkg -l | grep -E 'chromium|google-chrome'`. Validate that browser auto-update policies are enabled and not pinned to an obsolete version. For Linux distributions, verify that the vendor security advisory package versions are installed. Exposure remains if any user-accessible Chrome or Chromium build predates 89.0.4389.72, including portable, side-loaded, or application-bundled browsers.
Typical attack path
- Attacker identifies users likely to run an outdated Chrome or Chromium-based browser.
- Attacker hosts or injects a crafted HTML page containing exploit code that abuses the vulnerable audio race condition.
- Victim is persuaded or redirected to visit the malicious page through phishing, malvertising, watering-hole content, or compromised legitimate sites.
- The page triggers Web Audio or related browser audio processing in a way that causes heap corruption in vulnerable Chrome versions.
- Exploit code attempts to achieve reliable code execution in the Chrome renderer process.
- Attacker chains the renderer compromise with a sandbox escape or local privilege-escalation exploit, if needed, to gain broader system access.
- Post-exploitation activity may include credential/session theft, surveillance tooling, malware staging, or command-and-control communications.
How to detect it
Detection is difficult because browser memory-corruption exploits often leave limited direct artifacts. Prioritize endpoint and network telemetry from systems that ran Chrome earlier than 89.0.4389.72. Review Chrome crash reports, operating system application crash logs, EDR alerts, and browser telemetry for renderer crashes associated with visits to suspicious web pages, especially crashes shortly followed by unusual process creation, file writes, credential access, or outbound network connections. On Windows, examine Event Viewer application errors, Windows Error Reporting artifacts, EDR process trees, and browser profile download/history data. On Linux, review syslog/journal logs, apport/ABRT crash data where available, package history, shell history, and EDR telemetry. Network logs should be reviewed for redirects, malvertising, or access to low-reputation domains immediately before endpoint anomalies. Given public reporting around Candiru/SOURGUM/DevilsTongue exploiting browser vulnerabilities, targeted organizations should correlate suspicious browsing events with spyware-like behaviors such as unexpected persistence, reconnaissance, encrypted command-and-control traffic, and data collection from user profiles. Absence of a Chrome crash does not rule out exploitation; successful exploits may suppress or avoid obvious crash artifacts.
- Chrome version < 89.0.4389.72
- Google Chrome 88.
- Google Chrome 87.
- Google Chrome 86.
- chrome://crashes
- chrome.exe --type=renderer
- chrome --type=renderer
- chromium --type=renderer
- chrome.exe --type=gpu-process
- chrome.exe --type=utility
- Application Error: chrome.exe
- Faulting application name: chrome.exe
- Faulting module name: chrome.dll
- Segmentation fault.*chrome
- Segmentation fault.*chromium
- /var/crash/*chrome*
- /var/crash/*chromium*
- /var/log/apport.log
- /var/spool/abrt
- /home/*/.config/google-chrome/Crash Reports/
- /home/*/.config/chromium/Crash Reports/
- %LOCALAPPDATA%\Google\Chrome\User Data\Crashpad\reports\
- %LOCALAPPDATA%\Google\Chrome\User Data\Crashpad\metadata\
What your security team should do
- Immediately inventory Chrome and Chromium-based browsers and prioritize remediation of any versions older than 89.0.4389.72, especially on internet-facing user workstations and high-risk user groups.
- Treat findings as urgent because the vulnerability is in CISA KEV, was required for remediation by 2021-11-17, and has active in-the-wild exploitation history.
- Hunt for evidence of exploitation on endpoints running vulnerable browser versions during the relevant exposure window, focusing on suspicious renderer crashes followed by unusual child processes, downloads, or outbound connections.
- Review web proxy, DNS, and EDR telemetry for visits to unknown or newly registered domains followed by Chrome crashes, malware detections, or process anomalies.
- Enforce enterprise browser update controls, block obsolete browser execution where possible, and monitor for unmanaged Chrome/Chromium installations.
- Apply broader hardening: enable site isolation, endpoint exploit protection, EDR behavioral detections, least privilege for users, and web isolation for users at high risk of targeted spyware attacks.
The record
Data race in audio in Google Chrome prior to 89.0.4389.72 allowed a remote attacker to potentially exploit heap corruption via a crafted HTML page.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:10 | chromium | 0 | 89.0.4389.114-1~deb10u1 |
| Debian:11 | chromium | 0 | 89.0.4389.82-1 |
| Debian:12 | chromium | 0 | 89.0.4389.82-1 |
| Debian:13 | chromium | 0 | 89.0.4389.82-1 |
| Debian:14 | chromium | 0 | 89.0.4389.82-1 |
| Mageia:7 | chromium-browser-stable | 0 | 89.0.4389.90-1.mga7 |
| Mageia:8 | chromium-browser-stable | 0 | 89.0.4389.90-1.mga8 |
| SUSE:Package Hub 15 SP2 | chromium | 0 | 89.0.4389.72-bp152.2.62.1 |
| Ubuntu:16.04:LTS | chromium-browser | 0 | 89.0.4389.82-0ubuntu0.16.04.1 |
| Ubuntu:18.04:LTS | chromium-browser | 0 | 89.0.4389.82-0ubuntu0.18.04.1 |
| openSUSE:Leap 15.2 | chromium | 0 | 89.0.4389.72-lp152.2.77.1 |
| openSUSE:Tumbleweed | chromium | 0 | 113.0.5672.92-1.1 |
| openSUSE:Tumbleweed | chromium | 0 | 93.0.4577.82-1.1 |
Related vulnerabilities
- CVE-2022-2160 Insufficient policy enforcement in DevTools in Google Chrome on Windows prior to… Also affects chromium
- CVE-2021-21215 Inappropriate implementation in Autofill in Google Chrome prior to 90.0.4430.72 allowed a… Also affects chromium
- CVE-2021-21224 Type confusion in V8 in Google Chrome prior to 90.0.4430.85 allowed a remote attacker to… Also affects chromium
- CVE-2021-21216 Inappropriate implementation in Autofill in Google Chrome prior to 90.0.4430.72 allowed a… Also affects chromium
- CVE-2021-21193 Use after free in Blink in Google Chrome prior to 89.0.4389.90 allowed a remote attacker… Also affects chromium
- CVE-2021-21177 Insufficient policy enforcement in Autofill in Google Chrome prior to 89.0.4389.72… Also affects chromium
- CVE-2021-21132 Inappropriate implementation in DevTools in Google Chrome prior to 88.0.4324.96 allowed a… Also affects chromium
- CVE-2021-21135 Inappropriate implementation in Performance API in Google Chrome prior to 88.0.4324.96… Also affects chromium