CVE-2021-45482
Medium · 6.5CVSS
6.5
EPSS
1.5%
Published
Dec 25, 2021
CISA due date
—
Cloudanix analysis
A bug in a common web display component can make programs using it crash when they show certain web pages, interrupting work until the software is updated.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Use After Free
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Use-after-free in WebCore::ContainerNode::firstChild allows a crafted web page to trigger memory corruption that results in application crash and denial of service.
Why it matters to the business
Applications and systems relying on the affected WebKitGTK library can be rendered unavailable by remote attackers, disrupting user workflows and requiring restarts or patches; the vulnerability appears in ransomware-related campaigns and has a growing exploit-publication trend, increasing urgency for organizations with large downstream WebKitGTK deployments.
How an attack unfolds
An attacker crafts malicious HTML or JavaScript that manipulates DOM nodes to trigger the use-after-free condition in ContainerNode::firstChild; when a victim renders the content in a vulnerable WebKitGTK-based application the freed memory is reused, leading to a crash. Public exploit code exists and named campaigns including Interlock ransomware have leveraged similar WebKit use-after-free issues.
How to fix it
Upgrade WebKitGTK to version 2.32.4 or later; where immediate updates are not feasible, restrict rendering of untrusted web content and apply available operating-system or distribution security updates that back-port the fix.
How to confirm the fix worked
Confirm the installed WebKitGTK shared library version is 2.32.4 or newer via package manager queries or library file metadata; re-test affected applications with known crashing test cases to verify the denial-of-service condition is resolved.
Typical attack path
- Attacker hosts or delivers a malicious web page or document referencing the vulnerable WebKitGTK component
- Victim application loads and parses the content, reaching the ContainerNode::firstChild code path
- Use-after-free condition is triggered, causing memory corruption and process termination
- Service or application becomes unavailable until restarted or patched
How to detect it
Review web browser or application crash logs for segmentation faults originating from WebKitGTK libraries; correlate any spikes in crashes with user visits to untrusted sites and inspect process memory dumps for signs of WebCore DOM manipulation around ContainerNode handling.
What your security team should do
- Prioritize patching all WebKitGTK instances to 2.32.4+ within the next maintenance window given public exploit availability
- Inventory downstream products and containers that embed WebKitGTK and schedule upgrades
- Enable application sandboxing or content isolation where possible to limit crash impact
- Monitor vendor advisories for any additional back-ported fixes in supported distributions
The record
In WebKitGTK before 2.32.4, there is a use-after-free in WebCore::ContainerNode::firstChild, a different vulnerability than CVE-2021-30889.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | webkit2gtk3 | 0 | 2.34.6-1.el8 |
| AlmaLinux:8 | webkit2gtk3-devel | 0 | 2.34.6-1.el8 |
| AlmaLinux:8 | webkit2gtk3-jsc | 0 | 2.34.6-1.el8 |
| AlmaLinux:8 | webkit2gtk3-jsc-devel | 0 | 2.34.6-1.el8 |
| Debian:10 | webkit2gtk | 0 | 2.32.4-1~deb10u1 |
| Debian:11 | webkit2gtk | 0 | 2.32.4-1~deb11u1 |
| Debian:11 | wpewebkit | 0 | 2.32.4-1~deb11u1 |
| Debian:12 | webkit2gtk | 0 | 2.32.4-1 |
| Debian:12 | wpewebkit | 0 | 2.32.4-1 |
| Debian:13 | webkit2gtk | 0 | 2.32.4-1 |
| Debian:13 | wpewebkit | 0 | 2.32.4-1 |
| Red Hat:enterprise_linux:8::appstream | webkit2gtk3 | 0 | 0:2.34.6-1.el8 |
| Red Hat:enterprise_linux:8::appstream | webkit2gtk3-debuginfo | 0 | 0:2.34.6-1.el8 |
| Red Hat:enterprise_linux:8::appstream | webkit2gtk3-debugsource | 0 | 0:2.34.6-1.el8 |
| Red Hat:enterprise_linux:8::appstream | webkit2gtk3-devel | 0 | 0:2.34.6-1.el8 |
| Red Hat:enterprise_linux:8::appstream | webkit2gtk3-devel-debuginfo | 0 | 0:2.34.6-1.el8 |
| Red Hat:enterprise_linux:8::appstream | webkit2gtk3-jsc | 0 | 0:2.34.6-1.el8 |
| Red Hat:enterprise_linux:8::appstream | webkit2gtk3-jsc-debuginfo | 0 | 0:2.34.6-1.el8 |
| Red Hat:enterprise_linux:8::appstream | webkit2gtk3-jsc-devel | 0 | 0:2.34.6-1.el8 |
| Red Hat:enterprise_linux:8::appstream | webkit2gtk3-jsc-devel-debuginfo | 0 | 0:2.34.6-1.el8 |
| Rocky Linux:8 | webkit2gtk3 | 0 | 0:2.34.6-1.el8 |
| SUSE:Enterprise Storage 6 | webkit2gtk3 | 0 | 2.34.6-3.97.1 |
| SUSE:Enterprise Storage 7 | webkit2gtk3 | 0 | 2.34.6-29.1 |
| SUSE:HPE Helion OpenStack 8 | webkit2gtk3 | 0 | 2.34.5-2.85.3 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-ESPOS | webkit2gtk3 | 0 | 2.34.6-3.97.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS | webkit2gtk3 | 0 | 2.34.6-3.97.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-ESPOS | webkit2gtk3 | 0 | 2.34.6-29.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | webkit2gtk3 | 0 | 2.34.6-29.1 |
| SUSE:Linux Enterprise High Performance Computing 15-ESPOS | webkit2gtk3 | 0 | 2.34.6-3.97.1 |
| SUSE:Linux Enterprise High Performance Computing 15-LTSS | webkit2gtk3 | 0 | 2.34.6-3.97.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP3 | webkit2gtk3 | 0 | 2.34.6-29.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP3 | webkit2gtk3 | 0 | 2.34.6-29.1 |
| SUSE:Linux Enterprise Real Time 15 SP2 | webkit2gtk3 | 0 | 2.34.6-29.1 |
| SUSE:Linux Enterprise Server 12 SP2-BCL | webkit2gtk3 | 0 | 2.34.5-2.85.3 |
| SUSE:Linux Enterprise Server 12 SP3-BCL | webkit2gtk3 | 0 | 2.34.5-2.85.3 |
| SUSE:Linux Enterprise Server 12 SP3-LTSS | webkit2gtk3 | 0 | 2.34.5-2.85.3 |
| SUSE:Linux Enterprise Server 12 SP4-LTSS | webkit2gtk3 | 0 | 2.34.5-2.85.3 |
| SUSE:Linux Enterprise Server 12 SP5 | webkit2gtk3 | 0 | 2.34.5-2.85.3 |
| SUSE:Linux Enterprise Server 15 SP1-BCL | webkit2gtk3 | 0 | 2.34.6-3.97.1 |
| SUSE:Linux Enterprise Server 15 SP1-LTSS | webkit2gtk3 | 0 | 2.34.6-3.97.1 |
| SUSE:Linux Enterprise Server 15 SP2-BCL | webkit2gtk3 | 0 | 2.34.6-29.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | webkit2gtk3 | 0 | 2.34.6-29.1 |
| SUSE:Linux Enterprise Server 15-LTSS | webkit2gtk3 | 0 | 2.34.6-3.97.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | webkit2gtk3 | 0 | 2.34.5-2.85.3 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP4 | webkit2gtk3 | 0 | 2.34.5-2.85.3 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | webkit2gtk3 | 0 | 2.34.5-2.85.3 |
| SUSE:Linux Enterprise Server for SAP Applications 15 | webkit2gtk3 | 0 | 2.34.6-3.97.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP1 | webkit2gtk3 | 0 | 2.34.6-3.97.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | webkit2gtk3 | 0 | 2.34.6-29.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | webkit2gtk3 | 0 | 2.34.5-2.85.3 |
| SUSE:Manager Proxy 4.1 | webkit2gtk3 | 0 | 2.34.6-29.1 |
| SUSE:Manager Retail Branch Server 4.1 | webkit2gtk3 | 0 | 2.34.6-29.1 |
| SUSE:Manager Server 4.1 | webkit2gtk3 | 0 | 2.34.6-29.1 |
| SUSE:OpenStack Cloud 8 | webkit2gtk3 | 0 | 2.34.5-2.85.3 |
| SUSE:OpenStack Cloud 9 | webkit2gtk3 | 0 | 2.34.5-2.85.3 |
| SUSE:OpenStack Cloud Crowbar 8 | webkit2gtk3 | 0 | 2.34.5-2.85.3 |
| SUSE:OpenStack Cloud Crowbar 9 | webkit2gtk3 | 0 | 2.34.5-2.85.3 |
| Ubuntu:16.04:LTS | qtwebkit-opensource-src | 0 | No fix |
| Ubuntu:16.04:LTS | qtwebkit-source | 0 | No fix |
| Ubuntu:16.04:LTS | webkit2gtk | 0 | No fix |
| Ubuntu:16.04:LTS | webkitgtk | 0 | No fix |
| Ubuntu:18.04:LTS | qtwebkit-opensource-src | 0 | No fix |
| Ubuntu:18.04:LTS | qtwebkit-source | 0 | No fix |
| Ubuntu:18.04:LTS | webkit2gtk | 0 | 2.32.4-0ubuntu0.18.04.1 |
| Ubuntu:18.04:LTS | webkitgtk | 0 | No fix |
| Ubuntu:20.04:LTS | qtwebkit-opensource-src | 0 | No fix |
| Ubuntu:20.04:LTS | webkit2gtk | 0 | 2.32.4-0ubuntu0.20.04.1 |
| Ubuntu:20.04:LTS | wpewebkit | 0 | No fix |
| Ubuntu:22.04:LTS | qtwebkit-opensource-src | 0 | No fix |
| Ubuntu:22.04:LTS | wpewebkit | 0 | No fix |
| Ubuntu:24.04:LTS | qtwebkit-opensource-src | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | qtwebkit-opensource-src | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | qtwebkit-source | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | webkit2gtk | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | webkitgtk | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | qtwebkit-opensource-src | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | qtwebkit-source | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | webkitgtk | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | qtwebkit-opensource-src | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | wpewebkit | 0 | No fix |
| Ubuntu:Pro:22.04:LTS | qtwebkit-opensource-src | 0 | No fix |
| Ubuntu:Pro:22.04:LTS | wpewebkit | 0 | No fix |
| Ubuntu:Pro:24.04:LTS | qtwebkit-opensource-src | 0 | No fix |
| openSUSE:Leap 15.3 | webkit2gtk3 | 0 | 2.34.6-29.1 |
Related vulnerabilities
- CVE-2025-43536 A use-after-free issue was addressed with improved memory management. Also affects webkit2gtk3
- CVE-2025-43531 A race condition was addressed with improved state handling. Also affects webkit2gtk3
- CVE-2025-43529 A use-after-free issue was addressed with improved memory management. Also affects webkit2gtk3
- CVE-2023-43000 A use-after-free issue was addressed with improved memory management. Also affects webkit2gtk3
- CVE-2025-43480 The issue was addressed with improved checks. Also affects webkit2gtk3
- CVE-2025-43458 This issue was addressed through improved state management. Also affects webkit2gtk3
- CVE-2025-43443 This issue was addressed with improved checks. Also affects webkit2gtk3
- CVE-2025-43432 A use-after-free issue was addressed with improved memory management. Also affects webkit2gtk3