CVE-2020-6556

8.8 HIGH

📋 TL;DR

CVE-2020-6556 is a heap buffer overflow vulnerability in SwiftShader, Chrome's software renderer, that allows remote attackers to potentially execute arbitrary code or cause heap corruption via a malicious HTML page. This affects all users of Google Chrome before version 84.0.4147.135. Attackers can exploit this by tricking users into visiting a specially crafted webpage.

💻 Affected Systems

Products:
  • Google Chrome
  • Chromium-based browsers
  • Operating systems using Chrome components
Versions: All versions prior to 84.0.4147.135
Operating Systems: Windows, Linux, macOS, Android, Chrome OS
Default Config Vulnerable: ⚠️ Yes
Notes: SwiftShader is used when hardware acceleration is unavailable or disabled, making this vulnerability relevant even on systems without GPU support.

📦 What is this software?

Chrome by Google

Google Chrome is the world's most popular web browser, used by over 3 billion users globally across Windows, macOS, Linux, Android, and iOS platforms. As a Chromium-based browser developed by Google, Chrome dominates the browser market with approximately 65% market share, making it a critical compon...

Learn more about Chrome →

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote code execution with the same privileges as the Chrome process, potentially leading to full system compromise, data theft, or malware installation.

🟠

Likely Case

Browser crash (denial of service) or limited memory corruption that could be leveraged for information disclosure or further exploitation.

🟢

If Mitigated

Minimal impact if Chrome sandboxing works correctly, potentially limiting exploitation to the browser process only.

🌐 Internet-Facing: HIGH - Attackers can host malicious websites accessible from the internet, requiring only a user to visit the page.
🏢 Internal Only: MEDIUM - Risk exists if internal users browse to compromised internal sites or external sites, but attack surface is more limited than internet-facing.

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: MEDIUM

Exploitation requires bypassing Chrome's sandbox and other security mitigations, but heap buffer overflows in renderers are commonly exploited. The bug report (crbug.com/1115345) contains technical details that could aid exploitation.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 84.0.4147.135 and later

Vendor Advisory: https://chromereleases.googleblog.com/2020/08/stable-channel-update-for-desktop_18.html

Restart Required: Yes

Instructions:

1. Open Chrome. 2. Click the three-dot menu > Help > About Google Chrome. 3. Chrome will automatically check for and install updates. 4. Click 'Relaunch' to restart Chrome with the patched version.

🔧 Temporary Workarounds

Disable SwiftShader

all

Force Chrome to use hardware rendering only, which may prevent exploitation but could degrade performance on systems without GPU support.

chrome://flags/#disable-accelerated-2d-canvas
Set to 'Disabled'
Restart Chrome

Enable Site Isolation

all

Enhances Chrome's sandboxing to limit the impact of renderer compromises.

chrome://flags/#enable-site-per-process
Set to 'Enabled'
Restart Chrome

🧯 If You Can't Patch

  • Restrict web browsing to trusted sites only using browser policies or network filtering.
  • Deploy application control to block execution of unauthorized Chrome processes or child processes.

🔍 How to Verify

Check if Vulnerable:

Check Chrome version: If version is less than 84.0.4147.135, the system is vulnerable.

Check Version:

On Windows/Linux/macOS: google-chrome --version or navigate to chrome://version/

Verify Fix Applied:

Confirm Chrome version is 84.0.4147.135 or higher after update.

📡 Detection & Monitoring

Log Indicators:

  • Chrome crash reports with SwiftShader-related modules
  • Unexpected Chrome child process terminations
  • Security event logs showing Chrome accessing unusual memory regions

Network Indicators:

  • HTTP requests to known malicious domains hosting exploit code
  • Unusual outbound connections from Chrome processes post-crash

SIEM Query:

source="chrome_crash_reports" AND (process="chrome.exe" OR process="chrome") AND module="swiftshader"

🔗 References

📤 Share & Export