CVE-2021-30887
Medium · 6.5CVSS
6.5
EPSS
1.8%
Published
Aug 24, 2021
CISA due date
—
Cloudanix analysis
A flaw in how certain Apple devices handle website security rules could let attackers run unauthorized code on a victim's device simply by getting them to visit a malicious webpage.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Data Tampering
- Component
- Web Framework
- Class
- Authorization Bypass
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Logic flaw in WebKit allows maliciously crafted web content to bypass Content Security Policy enforcement, resulting in unauthorized script execution or resource loading that should have been blocked.
Why it matters to the business
Organizations face elevated risk of web-based attacks on employee and customer devices running affected Apple platforms, potentially enabling data theft or unauthorized actions without user awareness; widespread use of these platforms increases exposure across enterprises and consumer ecosystems.
How an attack unfolds
An attacker crafts a malicious webpage containing content that violates the declared Content Security Policy; when a victim using a vulnerable WebKit-based browser visits the page, the policy restrictions are unexpectedly unenforced, allowing the attacker's scripts or resources to execute. Groups such as Candiru have been associated with similar Apple WebKit targeting campaigns.
How to fix it
Upgrade affected devices to the fixed releases: macOS Monterey 12.0.1 or later, iOS 15.1 / iPadOS 15.1 or later, watchOS 8.1 or later, tvOS 15.1 or later. Apply vendor updates promptly for all Apple platforms and review any downstream Linux packages that incorporate the vulnerable WebKit components.
How to confirm the fix worked
Verify device and application versions against the fixed releases listed by Apple; inspect web content rendering behavior in updated browsers to confirm CSP enforcement; use automated vulnerability scanners or MDM tools to audit fleet compliance.
Typical attack path
- Attacker prepares and hosts a webpage embedding CSP-violating content.
- Victim is lured to the malicious page via phishing, compromised site, or drive-by download.
- Vulnerable WebKit processes the page and fails to enforce the CSP.
- Attacker's code executes with elevated privileges or access, achieving integrity impact such as unauthorized actions.
How to detect it
Review web proxy, browser, and endpoint logs for unexpected script execution or resource loads that violate declared CSP headers; correlate with visits to untrusted domains around the time of suspected exposure; examine crash reports or WebKit process anomalies on affected devices for signs of policy bypass attempts.
What your security team should do
- Prioritize patching all managed Apple devices to the specified fixed versions within the next maintenance window.
- Enable strict CSP headers on internal and external web applications as a defense-in-depth measure.
- Monitor threat intelligence feeds for continued activity by groups such as Candiru targeting similar WebKit issues.
- Educate users on avoiding suspicious links and maintain endpoint detection on mobile and desktop fleets.
The record
A logic issue was addressed with improved restrictions. This issue is fixed in macOS Monterey 12.0.1, iOS 15.1 and iPadOS 15.1, watchOS 8.1, tvOS 15.1. Processing maliciously crafted web content may lead to unexpectedly unenforced Content Security Policy.
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.3-1~deb10u1 |
| Debian:11 | webkit2gtk | 0 | 2.34.3-1~deb11u1 |
| Debian:11 | wpewebkit | 0 | 2.34.3-1~deb11u1 |
| Debian:12 | webkit2gtk | 0 | 2.34.3-1 |
| Debian:12 | wpewebkit | 0 | 2.34.3-1 |
| Debian:13 | webkit2gtk | 0 | 2.34.3-1 |
| Debian:13 | wpewebkit | 0 | 2.34.3-1 |
| Mageia:8 | webkit2 | 0 | 2.34.3-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.3-3.92.1 |
| SUSE:Enterprise Storage 7 | webkit2gtk3 | 0 | 2.34.3-23.3 |
| SUSE:HPE Helion OpenStack 8 | webkit2gtk3 | 0 | 2.34.3-2.82.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-ESPOS | webkit2gtk3 | 0 | 2.34.3-3.92.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS | webkit2gtk3 | 0 | 2.34.3-3.92.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-ESPOS | webkit2gtk3 | 0 | 2.34.3-23.3 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | webkit2gtk3 | 0 | 2.34.3-23.3 |
| SUSE:Linux Enterprise High Performance Computing 15-ESPOS | webkit2gtk3 | 0 | 2.34.3-3.92.1 |
| SUSE:Linux Enterprise High Performance Computing 15-LTSS | webkit2gtk3 | 0 | 2.34.3-3.92.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP3 | webkit2gtk3 | 0 | 2.34.3-23.3 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP3 | webkit2gtk3 | 0 | 2.34.3-23.3 |
| SUSE:Linux Enterprise Real Time 15 SP2 | webkit2gtk3 | 0 | 2.34.3-23.3 |
| SUSE:Linux Enterprise Server 12 SP2-BCL | webkit2gtk3 | 0 | 2.34.3-2.82.1 |
| SUSE:Linux Enterprise Server 12 SP3-BCL | webkit2gtk3 | 0 | 2.34.3-2.82.1 |
| SUSE:Linux Enterprise Server 12 SP3-LTSS | webkit2gtk3 | 0 | 2.34.3-2.82.1 |
| SUSE:Linux Enterprise Server 12 SP4-LTSS | webkit2gtk3 | 0 | 2.34.3-2.82.1 |
| SUSE:Linux Enterprise Server 12 SP5 | webkit2gtk3 | 0 | 2.34.3-2.82.1 |
| SUSE:Linux Enterprise Server 15 SP1-BCL | webkit2gtk3 | 0 | 2.34.3-3.92.1 |
| SUSE:Linux Enterprise Server 15 SP1-LTSS | webkit2gtk3 | 0 | 2.34.3-3.92.1 |
| SUSE:Linux Enterprise Server 15 SP2-BCL | webkit2gtk3 | 0 | 2.34.3-23.3 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | webkit2gtk3 | 0 | 2.34.3-23.3 |
| SUSE:Linux Enterprise Server 15-LTSS | webkit2gtk3 | 0 | 2.34.3-3.92.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | webkit2gtk3 | 0 | 2.34.3-2.82.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP4 | webkit2gtk3 | 0 | 2.34.3-2.82.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | webkit2gtk3 | 0 | 2.34.3-2.82.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 | webkit2gtk3 | 0 | 2.34.3-3.92.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP1 | webkit2gtk3 | 0 | 2.34.3-3.92.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | webkit2gtk3 | 0 | 2.34.3-23.3 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | webkit2gtk3 | 0 | 2.34.3-2.82.1 |
| SUSE:Manager Proxy 4.1 | webkit2gtk3 | 0 | 2.34.3-23.3 |
| SUSE:Manager Retail Branch Server 4.1 | webkit2gtk3 | 0 | 2.34.3-23.3 |
| SUSE:Manager Server 4.1 | webkit2gtk3 | 0 | 2.34.3-23.3 |
| SUSE:OpenStack Cloud 8 | webkit2gtk3 | 0 | 2.34.3-2.82.1 |
| SUSE:OpenStack Cloud 9 | webkit2gtk3 | 0 | 2.34.3-2.82.1 |
| SUSE:OpenStack Cloud Crowbar 8 | webkit2gtk3 | 0 | 2.34.3-2.82.1 |
| SUSE:OpenStack Cloud Crowbar 9 | webkit2gtk3 | 0 | 2.34.3-2.82.1 |
| 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.3-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.3-1 |
| 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.3-23.3 |
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