CVE-2022-22620
High · 8.8 CISA KEVCVSS
8.8
EPSS
16.3%
Published
Mar 18, 2022
CISA due date
Feb 25, 2022
Cloudanix analysis
Unpatched Apple devices could be compromised simply by opening a malicious web page or link, so they should be updated immediately.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Remote Code Execution
- Component
- Application
- Class
- Use After Free
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
CVE-2022-22620 is a WebKit use-after-free vulnerability affecting Safari, iOS, iPadOS, and macOS. When a vulnerable device processes maliciously crafted web content, WebKit can incorrectly access memory after it has been freed, allowing an attacker to corrupt memory and potentially execute arbitrary code in the context of the browser or web content process. Because WebKit is used broadly across Apple browsing and in-app web rendering, exploitation can occur through Safari or applications that display attacker-controlled web content.
Why it matters to the business
Successful exploitation can compromise Apple endpoints through a malicious website, link, advertisement, or embedded web content, potentially leading to data theft, malware installation, device compromise, and follow-on access to accounts or enterprise resources. Apple reported active exploitation in the wild, and this vulnerability is listed in CISA KEV with a remediation deadline of 2022-02-25, making unpatched devices a high-priority exposure even though the issue is older. Broad Apple ecosystem usage means exposure may include managed Macs, iPhones, iPads, Safari users, and applications relying on WebKit-rendered content.
How an attack unfolds
An attacker prepares web content that triggers the WebKit memory management flaw. The victim is induced to open the content through Safari, an in-app browser, a message link, email link, compromised website, malvertising chain, or other web-rendering path. When the vulnerable WebKit engine parses or executes the crafted content, a freed memory object is reused in an unsafe way, allowing memory corruption. A reliable exploit can use this condition to gain code execution inside the WebKit content process. In real-world attacks, browser code execution is commonly paired with sandbox escape, privilege escalation, persistence, or surveillance tooling to achieve broader device compromise. Apple confirmed active exploitation, and reporting associates exploitation activity with campaigns including the Interlock ransomware campaign, so defenders should treat suspicious browser crashes, unusual post-exploitation behavior, and unpatched Apple devices as potentially significant.
How to fix it
Upgrade affected Apple products to fixed or later versions immediately. Apple fixed the issue in macOS Monterey 12.2.1, iOS 15.3.1, iPadOS 15.3.1, and Safari 15.3 with builds 16612.4.9.1.8 and 15612.4.9.1.8. Where available, upgrade to the latest supported iOS, iPadOS, macOS, and Safari releases rather than only the minimum fixed version, because later releases include additional WebKit and platform hardening. For managed fleets, enforce OS and browser minimum versions through MDM or endpoint management, block or quarantine unsupported devices, and verify that embedded WebKit-dependent applications run on a patched OS/browser stack. If immediate patching is not possible, reduce exposure by limiting access to untrusted web content, disabling or restricting unmanaged browsers where feasible, applying web filtering, isolating high-risk browsing, and prioritizing patching for users with elevated access, executives, developers, help desk staff, and externally exposed roles.
How to confirm the fix worked
Confirm remediation by verifying product versions: iOS and iPadOS should be 15.3.1 or later, macOS Monterey should be 12.2.1 or later, and Safari should be 15.3 with build 16612.4.9.1.8 / 15612.4.9.1.8 or later. Use MDM inventory, endpoint management, vulnerability scanners, or local system checks to confirm no managed devices remain on vulnerable versions. On macOS, validate Safari and OS versions from system inventory or command-line version reporting; on iOS and iPadOS, validate through MDM device compliance records. Confirm patch compliance across both user-facing Safari installations and devices where WebKit is used by other applications. After patching, review recent crash logs and EDR telemetry for pre-patch suspicious WebKit activity to determine whether incident response follow-up is required.
Typical attack path
- Attacker identifies users or devices running vulnerable Safari, iOS, iPadOS, or macOS versions.
- Attacker hosts or delivers maliciously crafted web content designed to trigger the WebKit use-after-free condition.
- Victim opens the content through Safari, MobileSafari, an embedded WebKit view, a messaging app preview, email link, or redirected browser session.
- The crafted content causes memory corruption in WebKit after a freed object is accessed.
- Exploit code achieves arbitrary code execution in the browser or web content process context.
- Attacker attempts follow-on actions such as escaping the browser sandbox, stealing browser/session data, installing payloads, profiling the device, or moving toward enterprise resources.
- Attacker may clean up delivery artifacts or rely on ephemeral browser activity, leaving limited forensic evidence beyond crashes, web history, network traces, and endpoint telemetry.
How to detect it
Detection is challenging because browser memory corruption exploits may leave few durable artifacts and can be delivered through ordinary web traffic. Focus on correlation rather than a single indicator: identify vulnerable Apple devices, then review activity before patching for WebKit or Safari crashes, abnormal browser child processes, suspicious network redirects, unknown payload downloads, and post-exploitation behavior. Useful log sources include macOS Unified Logs, DiagnosticReports crash logs, Safari history where available, EDR process and file telemetry, MDM compliance records, DNS logs, secure web gateway/proxy logs, firewall logs, and mobile threat defense telemetry. On macOS, look for crash reports involving Safari, com.apple.WebKit.WebContent, com.apple.WebKit.Networking, or WebKit processes with EXC_BAD_ACCESS, KERN_INVALID_ADDRESS, heap corruption, or JavaScriptCore/WebCore stack traces, especially after visits to unfamiliar domains. On iOS and iPadOS, review MDM/mobile threat defense alerts, device analytics if collected, and signs of unusual crashes or suspicious profiles/apps following web activity. Investigate any sequence where a WebKit crash is followed by unexpected process execution, persistence creation, profile installation, credential access, unusual outbound connections, or security control tampering. Because public, stable IOCs for this vulnerability are limited, prioritize behavioral detection and historical scoping over exact-match indicators.
- com.apple.WebKit.WebContent
- com.apple.WebKit.Networking
- com.apple.WebKit.GPU
- MobileSafari
- Safari
- WebKit
- JavaScriptCore
- WebCore
- EXC_BAD_ACCESS
- KERN_INVALID_ADDRESS
- Use after free
- heap corruption
- /Library/Logs/DiagnosticReports/
- ~/Library/Logs/DiagnosticReports/
- /private/var/mobile/Library/Logs/CrashReporter/
- Safari_*.crash
- com.apple.WebKit.WebContent_*.crash
- MobileSafari_*.ips
- JetsamEvent
- Apple iOS, iPadOS, and macOS Webkit Use-After-Free Vulnerability
What your security team should do
- Treat this as high priority for any remaining vulnerable Apple devices because it is in CISA KEV and was reported as actively exploited in the wild.
- Immediately inventory Safari, iOS, iPadOS, and macOS versions across managed and unmanaged-access populations.
- Enforce minimum fixed versions: macOS Monterey 12.2.1, iOS 15.3.1, iPadOS 15.3.1, and Safari 15.3 build 16612.4.9.1.8 / 15612.4.9.1.8 or later; preferably update to the latest supported releases.
- Prioritize patching devices used by privileged users, administrators, developers, finance personnel, executives, and users frequently exposed to external links or web content.
- Search historical endpoint, proxy, DNS, EDR, and crash telemetry for suspicious WebKit crashes or browser activity before patch deployment.
- Review web proxy and DNS logs for unusual redirects, newly registered domains, malvertising patterns, or suspicious browsing immediately preceding WebKit crashes.
- Where feasible, isolate or restrict internet browsing from unpatched Apple devices until remediation is complete.
- Ensure incident response playbooks account for browser-based exploitation on Apple devices, including collection of crash logs, unified logs, browser history, network telemetry, and EDR artifacts.
- Monitor threat intelligence for WebKit exploit chains and campaign reporting, including activity associated with Interlock ransomware references, while avoiding reliance on a single IOC set because exploit artifacts may vary widely.
The record
A use after free issue was addressed with improved memory management. This issue is fixed in macOS Monterey 12.2.1, iOS 15.3.1 and iPadOS 15.3.1, Safari 15.3 (v. 16612.4.9.1.8 and 15612.4.9.1.8). Processing maliciously crafted web content may lead to arbitrary code execution. Apple is aware of a report that this issue may have been actively exploited..
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.6-1~deb10u1 |
| Debian:11 | webkit2gtk | 0 | 2.34.6-1~deb11u1 |
| Debian:11 | wpewebkit | 0 | 2.34.6-1~deb11u1 |
| Debian:12 | webkit2gtk | 0 | 2.34.6-1 |
| Debian:12 | wpewebkit | 0 | 2.34.6-1 |
| Debian:13 | webkit2gtk | 0 | 2.34.6-1 |
| Debian:13 | wpewebkit | 0 | 2.34.6-1 |
| Debian:14 | webkit2gtk | 0 | 2.34.6-1 |
| Debian:14 | wpewebkit | 0 | 2.34.6-1 |
| Mageia:8 | webkit2 | 0 | 2.34.6-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.6-2.88.1 |
| 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.6-2.88.1 |
| SUSE:Linux Enterprise Server 12 SP3-BCL | webkit2gtk3 | 0 | 2.34.6-2.88.1 |
| SUSE:Linux Enterprise Server 12 SP3-LTSS | webkit2gtk3 | 0 | 2.34.6-2.88.1 |
| SUSE:Linux Enterprise Server 12 SP4-LTSS | webkit2gtk3 | 0 | 2.34.6-2.88.1 |
| SUSE:Linux Enterprise Server 12 SP5 | webkit2gtk3 | 0 | 2.34.6-2.88.1 |
| 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.6-2.88.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP4 | webkit2gtk3 | 0 | 2.34.6-2.88.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | webkit2gtk3 | 0 | 2.34.6-2.88.1 |
| 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.6-2.88.1 |
| 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.6-2.88.1 |
| SUSE:OpenStack Cloud 9 | webkit2gtk3 | 0 | 2.34.6-2.88.1 |
| SUSE:OpenStack Cloud Crowbar 8 | webkit2gtk3 | 0 | 2.34.6-2.88.1 |
| SUSE:OpenStack Cloud Crowbar 9 | webkit2gtk3 | 0 | 2.34.6-2.88.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.6-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.35.90-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