CVE-2021-30934
High · 8.8CVSS
8.8
EPSS
2.6%
Published
Aug 24, 2021
CISA due date
—
Cloudanix analysis
A flaw in how Apple devices handle certain web pages could let attackers take over a phone, tablet, or computer simply by getting the user to visit a bad website.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Remote Code Execution
- Component
- Web Framework
- Class
- Buffer Overflow
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Buffer overflow in WebKit's handling of malicious web content allows arbitrary code execution in the renderer process with the privileges of the browser.
Why it matters to the business
Remote compromise of macOS, iOS, iPadOS, tvOS, watchOS, and Safari users via drive-by web attacks, enabling data theft, persistence, or further lateral movement; high prevalence across consumer and enterprise Apple fleets increases exposure surface.
How an attack unfolds
An attacker hosts a malicious webpage that triggers the buffer overflow during parsing; when a victim visits the page in an affected browser or app using WebKit, the flaw leads to arbitrary code execution. Named actors such as those in the Interlock ransomware campaign have been observed leveraging similar WebKit issues for initial access.
How to fix it
Upgrade to tvOS 15.2, macOS Monterey 12.1, Safari 15.2, iOS 15.2, iPadOS 15.2, or watchOS 8.3 (or later) on all affected Apple devices. Apply equivalent updates on Fedora and Debian systems that consume Apple WebKit packages.
How to confirm the fix worked
Verify installed versions of Safari, iOS, macOS, tvOS, watchOS, and WebKit packages against the fixed releases; re-scan endpoints after patching to confirm absence of vulnerable builds.
Typical attack path
- Attacker crafts and hosts malicious web content targeting WebKit buffer handling
- Victim is lured to the page via phishing, compromised site, or malvertising
- WebKit processes the content and overflows the buffer
- Attacker gains arbitrary code execution in the browser process
- Payload establishes persistence or exfiltrates data
How to detect it
Inspect web proxy logs, browser crash reports, and endpoint telemetry for visits to suspicious domains followed by unexpected Safari or WebKit process behavior; correlate with threat actor infrastructure tied to Interlock ransomware or Apple WebKit campaigns.
What your security team should do
- Prioritize patching all Apple endpoints to the listed fixed versions within 48 hours due to public exploitability
- Enable automatic updates for Safari and OS components across the fleet
- Block known malicious domains associated with WebKit exploitation campaigns
- Review browser telemetry for unexpected renderer crashes that may indicate attempted exploitation
The record
A buffer overflow issue was addressed with improved memory handling. This issue is fixed in tvOS 15.2, macOS Monterey 12.1, Safari 15.2, iOS 15.2 and iPadOS 15.2, watchOS 8.3. Processing maliciously crafted web content may lead to arbitrary code execution.
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.4-1~deb10u1 |
| Debian:11 | webkit2gtk | 0 | 2.34.4-1~deb11u1 |
| Debian:11 | wpewebkit | 0 | 2.34.4-1~deb11u1 |
| Debian:12 | webkit2gtk | 0 | 2.34.4-1 |
| Debian:12 | wpewebkit | 0 | 2.34.4-1 |
| Debian:13 | webkit2gtk | 0 | 2.34.4-1 |
| Debian:13 | wpewebkit | 0 | 2.34.4-1 |
| Mageia:8 | webkit2 | 0 | 2.34.4-1.mga8 |
| 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.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 | 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