CVE-2021-45481
Medium · 6.5CVSS
6.5
EPSS
1.5%
Published
Dec 25, 2021
CISA due date
—
Cloudanix analysis
A problem in web display software can make programs using it suddenly stop working when they try to show certain pictures from the internet.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Web Framework
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Incorrect memory allocation in WebCore::ImageBufferCairoImageSurfaceBackend::create causes a segmentation violation that crashes the WebKitGTK process, resulting in denial of service with no impact on confidentiality or integrity.
Why it matters to the business
Applications relying on WebKitGTK for web content rendering can be forced offline by remote attackers, disrupting user workflows and requiring restarts; the issue remains exploitable years after disclosure with public exploit code available and mentions in ransomware campaigns.
How an attack unfolds
An attacker crafts a malicious web page or image resource that triggers the flawed allocation path in ImageBufferCairoImageSurfaceBackend; when a victim application loads the content, the resulting segfault crashes the process. Public exploits exist and the vulnerability has been referenced in campaigns including Interlock ransomware activity.
How to fix it
Upgrade WebKitGTK to version 2.32.4 or later; where immediate patching is not feasible, isolate affected applications or disable web content rendering features that exercise the Cairo backend.
How to confirm the fix worked
Verify the installed WebKitGTK package version is at least 2.32.4; test rendering of known trigger resources in a controlled environment to confirm absence of crashes.
Typical attack path
- Attacker hosts or embeds a specially crafted image or web resource targeting the Cairo image surface backend
- Victim application using vulnerable WebKitGTK fetches or renders the resource
- Incorrect allocation in create() leads to invalid memory access and immediate segmentation fault
- Application terminates, achieving denial of service
How to detect it
Review application and system logs for repeated WebKitGTK process crashes correlated with web content loading; look for segmentation fault entries in crash reports or syslog around the time of suspected incidents.
What your security team should do
- Prioritize updating all WebKitGTK instances to 2.32.4 or newer across the environment
- Monitor upstream WebKitGTK release notes for any additional hardening changes
- Review application dependencies to identify downstream consumers of the affected library
- Apply network-level controls to limit exposure of affected renderers to untrusted content where updates are delayed
The record
In WebKitGTK before 2.32.4, there is incorrect memory allocation in WebCore::ImageBufferCairoImageSurfaceBackend::create, leading to a segmentation violation and application crash, 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.34.1-1~deb10u1 |
| Debian:11 | webkit2gtk | 0 | 2.34.1-1~deb11u1 |
| Debian:11 | wpewebkit | 0 | 2.34.1-1~deb11u1 |
| Debian:12 | webkit2gtk | 0 | 2.34.0-1 |
| Debian:12 | wpewebkit | 0 | 2.34.1-1 |
| Debian:13 | webkit2gtk | 0 | 2.34.0-1 |
| Debian:13 | wpewebkit | 0 | 2.34.1-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 | No fix |
| 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.34.1-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 | webkit2gtk | 0 | 2.34.0-1ubuntu1 |
| 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 | webkit2gtk | 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