CVE-2021-30560
📋 TL;DR
This is a use-after-free vulnerability in Chrome's Blink XSLT processor that allows remote attackers to potentially exploit heap corruption. Attackers can craft malicious HTML pages to trigger memory corruption, potentially leading to arbitrary code execution. All users running vulnerable Chrome versions are affected.
💻 Affected Systems
- Google Chrome
- Chromium-based browsers
- Debian Linux packages
- Gentoo Linux packages
📦 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 →Libxslt by Xmlsoft
⚠️ Risk & Real-World Impact
Worst Case
Remote code execution with the same privileges as the Chrome process, potentially leading to full system compromise if Chrome is running with elevated privileges.
Likely Case
Browser crash (denial of service) or limited code execution within Chrome's sandbox, potentially allowing data theft or further exploitation.
If Mitigated
Browser crash with no data compromise if sandboxing works correctly, though memory corruption could still bypass some protections.
🎯 Exploit Status
Exploitation requires user to visit a malicious webpage. No public exploit code is known, but use-after-free vulnerabilities in Chrome are frequently weaponized.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 91.0.4472.164
Vendor Advisory: https://chromereleases.googleblog.com/2021/07/stable-channel-update-for-desktop.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 updated version.
🔧 Temporary Workarounds
Disable JavaScript
allPrevents execution of malicious XSLT processing code
chrome://settings/content/javascript → Block
Use Site Isolation
allEnhances Chrome's sandboxing to limit impact of potential exploitation
chrome://flags/#enable-site-per-process → Enable
🧯 If You Can't Patch
- Restrict web browsing to trusted sites only using Chrome's site restrictions
- Deploy application allowlisting to prevent execution of unknown processes from Chrome
🔍 How to Verify
Check if Vulnerable:
Check Chrome version: If version is less than 91.0.4472.164, system is vulnerable.
Check Version:
google-chrome --version (Linux) or chrome://version (all platforms)
Verify Fix Applied:
Confirm Chrome version is 91.0.4472.164 or higher after update.
📡 Detection & Monitoring
Log Indicators:
- Chrome crash reports with XSLT-related stack traces
- Unexpected Chrome process termination events
Network Indicators:
- Requests to unusual domains with XSLT payloads
- Multiple Chrome instances spawning from web browsing
SIEM Query:
process_name:"chrome.exe" AND (event_id:1000 OR event_id:1001) AND message:"XSLT" OR "Blink"
🔗 References
- https://chromereleases.googleblog.com/2021/07/stable-channel-update-for-desktop.html
- https://crbug.com/1219209
- https://lists.debian.org/debian-lts-announce/2022/09/msg00010.html
- https://security.gentoo.org/glsa/202310-23
- https://www.debian.org/security/2022/dsa-5216
- https://chromereleases.googleblog.com/2021/07/stable-channel-update-for-desktop.html
- https://crbug.com/1219209
- https://lists.debian.org/debian-lts-announce/2022/09/msg00010.html
- https://security.gentoo.org/glsa/202310-23
- https://www.debian.org/security/2022/dsa-5216