CVE-2020-10018
📋 TL;DR
This CVE describes a critical memory corruption vulnerability (use-after-free) in WebKitGTK and WPE WebKit browsers that could allow remote attackers to execute arbitrary code. Users of affected browser versions on Linux systems are vulnerable when visiting malicious websites. The vulnerability has been patched in version 2.28.0.
💻 Affected Systems
- WebKitGTK
- WPE WebKit
📦 What is this software?
Fedora by Fedoraproject
Fedora by Fedoraproject
Leap by Opensuse
Ubuntu Linux by Canonical
Ubuntu Linux by Canonical
Webkitgtk by Webkitgtk
Wpe Webkit by Wpewebkit
⚠️ Risk & Real-World Impact
Worst Case
Remote code execution with full system compromise, allowing attackers to install malware, steal data, or create persistent backdoors.
Likely Case
Browser crash leading to denial of service, with potential for limited code execution in browser context.
If Mitigated
Browser sandboxing may limit impact to browser process only, preventing full system compromise.
🎯 Exploit Status
Use-after-free vulnerabilities typically require specific memory manipulation knowledge but can be reliably exploited.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 2.28.0
Vendor Advisory: https://bugs.webkit.org/show_bug.cgi?id=204342
Restart Required: Yes
Instructions:
1. Update WebKitGTK or WPE WebKit to version 2.28.0 or later using your distribution's package manager. 2. Restart all applications using WebKit. 3. Verify the update was successful.
🔧 Temporary Workarounds
Disable JavaScript
allDisabling JavaScript prevents exploitation but breaks most website functionality
Browser-specific: Set javascript.enabled to false in about:config or browser settings
Use alternative browser
linuxTemporarily use browsers not based on affected WebKit versions
🧯 If You Can't Patch
- Implement network filtering to block access to untrusted websites
- Use application sandboxing/containerization to limit potential damage
🔍 How to Verify
Check if Vulnerable:
Check WebKitGTK or WPE WebKit version: `webkit2gtk-4.0 --version` or check package manager
Check Version:
webkit2gtk-4.0 --version || rpm -q webkit2gtk3 || dpkg -l | grep webkit
Verify Fix Applied:
Verify version is 2.28.0 or higher: `webkit2gtk-4.0 --version | grep -q '2\.2[8-9]\|2\.[3-9]' && echo 'Patched'`
📡 Detection & Monitoring
Log Indicators:
- Browser crash logs with memory access violations
- Segmentation faults in WebKit processes
Network Indicators:
- Unusual outbound connections from browser processes
- Suspicious JavaScript execution patterns
SIEM Query:
process_name:webkit AND (event_type:crash OR memory_violation:*)
🔗 References
- http://lists.opensuse.org/opensuse-security-announce/2020-05/msg00008.html
- https://bugs.webkit.org/show_bug.cgi?id=204342#c21
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/DOR5LPL4UASVAR76EIHCL4O2KGDWGC6K/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/GLERWAS2LL7SX2GHA2DDZ2PL3QC5OHIF/
- https://security.gentoo.org/glsa/202006-08
- https://usn.ubuntu.com/4310-1/
- https://webkitgtk.org/security/WSA-2020-0003.html
- https://wpewebkit.org/security/WSA-2020-0003.html
- https://www.debian.org/security/2020/dsa-4641
- http://lists.opensuse.org/opensuse-security-announce/2020-05/msg00008.html
- https://bugs.webkit.org/show_bug.cgi?id=204342#c21
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/DOR5LPL4UASVAR76EIHCL4O2KGDWGC6K/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/GLERWAS2LL7SX2GHA2DDZ2PL3QC5OHIF/
- https://security.gentoo.org/glsa/202006-08
- https://usn.ubuntu.com/4310-1/
- https://webkitgtk.org/security/WSA-2020-0003.html
- https://wpewebkit.org/security/WSA-2020-0003.html
- https://www.debian.org/security/2020/dsa-4641