Cloudanix VulnDB

CVE-2021-21206

High · 8.8 CISA KEV

CVSS

8.8

EPSS

9.3%

Published

Apr 26, 2021

CISA due date

Nov 17, 2021

Cloudanix analysis

Act now SSVC: Attend

A malicious web page could take over an outdated browser, so affected systems should be updated immediately.

Active In The Wild
Exploitation
Requires User Interaction
Attacker needs
User Interaction
Complexity
Low
Impact
Remote Code Execution
Component
Application
Class
Use After Free
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

This is a browser memory-safety vulnerability: a use-after-free condition in Blink, the Chromium rendering engine used by Google Chrome. A malicious web page can cause Chrome to reuse memory after it has been freed, leading to heap corruption. With successful exploitation, an attacker can execute code in the context of the browser process, potentially read sensitive browser-accessible data, modify user-session state, or crash the browser. The CVSS vector indicates network exploitation with low attack complexity, no authentication required, but user interaction is required because a target must visit or render attacker-controlled HTML content. The vulnerability was fixed in Google Chrome 89.0.4389.128 and later. The provided package metadata also lists OpenSC package fixes for Debian 11, 12, and 13 in version 0.21.0-1 and upstream OpenSC commit 9d294de90d1cc66956389856e60b6944b27b4817; because that product metadata is inconsistent with the Chrome/Blink vulnerability description, teams should validate scanner findings against vendor advisories before treating OpenSC as the primary affected component.

Why it matters to the business

Successful exploitation can allow an attacker to compromise a user workstation through ordinary web browsing, phishing links, malicious advertisements, or compromised websites. This can lead to theft of browser session data, credential harvesting, installation of follow-on malware, lateral movement from the endpoint, and disruption from browser or system instability. This vulnerability is listed in CISA KEV with a remediation due date of 2021-11-17, meaning it has confirmed real-world exploitation and any remaining exposure is significantly overdue. Although the EPSS score is moderate and stable, the KEV status and active-in-the-wild exploitation make remediation high priority, especially for endpoints used to access sensitive business applications.

How an attack unfolds

An attacker prepares a malicious HTML page that exercises the Blink rendering engine in a way that triggers a use-after-free condition. The attacker then delivers the page through a phishing email, link in a messaging platform, malicious ad, watering-hole site, or a compromised legitimate site. When a vulnerable Chrome version renders the content, heap memory corruption occurs. A reliable exploit attempts to shape browser heap memory so that the freed object is replaced with attacker-controlled data, enabling control of execution flow or bypassing normal browser protections. If code execution succeeds, the attacker may run payloads within the browser sandbox and may attempt a second exploit to escape the sandbox or abuse browser-accessible credentials, cookies, tokens, and session data. Public reporting and KEV inclusion indicate this class of Chromium Blink use-after-free activity has been exploited in the wild; provided threat context also references related Chromium Blink use-after-free and Chromium V8 improper input validation exploitation activity.

How to fix it

Upgrade Google Chrome to version 89.0.4389.128 or later; in practice, deploy the latest stable Chrome build because this issue is old and many additional Chromium security fixes have shipped since. Ensure Chromium-based browsers and embedded Chromium components are also updated where applicable. Enforce automatic browser updates and verify that update services are functioning. If scanners report the supplied OpenSC package exposure, validate whether the finding is correctly mapped to this CVE; where OpenSC remediation is required by the package advisory, update Debian 11, 12, and 13 OpenSC packages to 0.21.0-1 or later, or apply upstream commit 9d294de90d1cc66956389856e60b6944b27b4817 for source builds. Temporary mitigations include restricting access to untrusted sites, increasing web isolation for high-risk users, disabling risky browser extensions, using enterprise browser hardening policies, and routing browsing through protective DNS/proxy controls, but these should not replace patching.

How to confirm the fix worked

Confirm that all managed Chrome installations report version 89.0.4389.128 or later, preferably the current stable release. On endpoints, validate with browser inventory, enterprise browser management consoles, software inventory tools, or command-line version checks such as `chrome --version`, `google-chrome --version`, or platform-specific application inventory. Confirm that Chrome auto-update services are enabled and succeeding. For Linux package-managed deployments, verify installed package versions through the relevant package manager. If OpenSC findings are present, verify installed versions with package inventory and confirm Debian OpenSC is 0.21.0-1 or later, or that source builds include commit 9d294de90d1cc66956389856e60b6944b27b4817. Re-run authenticated vulnerability scans after patching and confirm the finding is closed. Because the vulnerability requires rendering malicious content, exposure validation should include checking whether outdated browsers remain on internet-facing user workstations, kiosks, VDI images, golden images, and unmanaged endpoints.

Typical attack path

  1. Identify organizations or users likely to run outdated Chrome or Chromium-based browser builds.
  2. Host or inject a crafted HTML page designed to trigger the Blink use-after-free condition.
  3. Lure a user to visit the page through phishing, malicious advertising, search result poisoning, messaging links, or a compromised website.
  4. Trigger heap corruption when the vulnerable browser renders the malicious page.
  5. Use heap grooming and browser exploit techniques to gain code execution or crash the browser.
  6. Run post-exploitation payloads in the browser context, steal browser-accessible data, or chain with another vulnerability to escape the sandbox.
  7. Establish persistence or move laterally using harvested credentials, tokens, or downloaded malware if broader endpoint compromise is achieved.

How to detect it

There are no universally reliable, CVE-specific network indicators for this vulnerability because exploitation is delivered through crafted web content and may leave only generic browser-crash or endpoint-exploitation traces. Detection should focus on endpoint, browser, DNS, proxy, and EDR telemetry. Review browser and OS crash logs for Chrome crashes involving access violations, heap corruption, or renderer crashes shortly after visiting unfamiliar or suspicious URLs. Correlate those events with web proxy, DNS, and browser history records showing visits to newly registered domains, compromised sites, suspicious ad networks, URL shorteners, or phishing infrastructure. In EDR, hunt for suspicious process ancestry where Chrome or a Chromium-based browser launches command interpreters, scripting engines, installers, archive tools, LOLBins, or unknown binaries. Investigate unexpected downloads followed by execution, new persistence mechanisms, credential-access behavior, browser data access, or unusual authentication from the same user after a browser crash. On Windows, useful sources include EDR process telemetry, Windows Event Logs, Windows Error Reporting, crash dumps, browser history, Prefetch, Amcache, ShimCache, and downloaded-file zone identifiers. On macOS, review Unified Logs, CrashReporter logs, quarantine events, LaunchAgents, and browser history. On Linux, review syslog/journal logs, browser crash reports, shell history where appropriate, and package/update logs. Because KEV confirms real-world exploitation, suspicious browser crashes on vulnerable versions should be triaged as potential exploitation even without a known IOC.

  • chrome.exe spawning cmd.exe
  • chrome.exe spawning powershell.exe
  • chrome.exe spawning wscript.exe
  • chrome.exe spawning cscript.exe
  • chrome.exe spawning mshta.exe
  • chrome.exe spawning rundll32.exe
  • chrome.exe spawning regsvr32.exe
  • chrome.exe spawning certutil.exe
  • chrome.exe spawning bitsadmin.exe
  • chrome.exe spawning curl.exe
  • chrome.exe spawning wget.exe
  • EXCEPTION_ACCESS_VIOLATION
  • STATUS_ACCESS_VIOLATION
  • heap corruption
  • Google Chrome Helper crash
  • chrome_crashpad_handler
  • Crashpad
  • Chrome Crash Reports
  • %LOCALAPPDATA%\Google\Chrome\User Data\Crashpad\reports
  • ~/Library/Application Support/Google/Chrome/Crashpad/completed
  • ~/.config/google-chrome/Crash Reports

What your security team should do

  • Treat any remaining vulnerable Chrome or Chromium-based browser installations as urgent because the issue is in CISA KEV and the remediation deadline has long passed.
  • Prioritize patching endpoints used by privileged users, finance staff, developers, administrators, and users with access to sensitive web applications.
  • Use centralized browser management to force-update Chrome and block execution of obsolete versions.
  • Hunt for signs of exploitation around browser crashes, suspicious child processes spawned by browsers, unusual downloads, credential theft activity, and visits to suspicious URLs shortly before endpoint compromise.
  • Review EDR telemetry for Chrome spawning command shells, scripting engines, installers, archive utilities, or unknown executables.
  • Validate scanner mappings where OpenSC is reported as affected, because the supplied product metadata does not align cleanly with the Chrome/Blink vulnerability description.
  • If compromise is suspected, collect browser history, crash dumps, EDR process trees, downloaded files, proxy logs, DNS logs, and memory or disk forensic artifacts from affected endpoints.
  • Reset credentials and invalidate web sessions for users whose browsers show credible signs of exploitation.
  • Maintain web filtering, ad blocking, browser site isolation, and exploit protection controls as defense-in-depth, but do not rely on them instead of updating.

The record

Use after free in Blink in Google Chrome prior to 89.0.4389.128 allowed a remote attacker to potentially exploit heap corruption via a crafted HTML page.

Affected packages

Ecosystem Package Introduced Fixed
Debian:11 chromium 0 90.0.4430.72-1
Debian:12 chromium 0 90.0.4430.72-1
Debian:13 chromium 0 90.0.4430.72-1
Debian:14 chromium 0 90.0.4430.72-1
SUSE:Package Hub 15 SP2 chromium 0 89.0.4389.128-bp152.2.71.1
Ubuntu:16.04:LTS chromium-browser 0 90.0.4430.72-0ubuntu0.16.04.1
Ubuntu:18.04:LTS chromium-browser 0 90.0.4430.72-0ubuntu0.18.04.1
openSUSE:Leap 15.2 chromium 0 89.0.4389.128-lp152.2.86.1
openSUSE:Leap 15.2 NonFree opera 0 76.0.4017.94-lp152.2.43.1
openSUSE:Tumbleweed chromium 0 113.0.5672.92-1.1
openSUSE:Tumbleweed chromium 0 93.0.4577.82-1.1

Related vulnerabilities