CVE-2023-23518
High · 8.8CVSS
8.8
EPSS
0.9%
Published
Feb 27, 2023
CISA due date
—
Cloudanix analysis
A flaw in how Apple devices handle certain web pages could let attackers take over the device if someone simply visits a harmful website.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Remote Code Execution
- Component
- Application
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Memory corruption vulnerability in WebKit allows processing of malicious web content to trigger arbitrary code execution with the privileges of the affected process.
Why it matters to the business
Unpatched Apple devices across macOS, iOS, iPadOS, watchOS, tvOS and Safari can be compromised when users visit attacker-controlled websites, enabling data theft, persistent access or further lateral movement with no user interaction beyond loading a page.
How an attack unfolds
An attacker hosts a webpage containing specially crafted content that triggers a type confusion or memory handling flaw in WebKit; when a victim loads the page in an affected browser or app, the flaw is triggered, leading to arbitrary code execution. Named threat actors have been associated with targeting Apple WebKit products.
How to fix it
Update affected devices to the fixed releases: macOS Monterey 12.6.3, macOS Ventura 13.2, macOS Big Sur 11.7.3, Safari 16.3, iOS 16.3, iPadOS 16.3, watchOS 9.3 and tvOS 16.3. Enable automatic updates where possible and remove unsupported older versions from the environment.
How to confirm the fix worked
Verify installed versions against the listed fixed releases on each platform; confirm WebKit and Safari processes are running the updated builds and test that known malicious proof-of-concept pages no longer trigger code execution.
Typical attack path
- Attacker crafts malicious web content exploiting the memory handling flaw
- Victim is enticed to visit the page via phishing, compromised site or drive-by
- WebKit processes the content and the flaw is triggered
- Arbitrary code executes with the privileges of the browser or app process
- Attacker establishes persistence, exfiltrates data or installs additional payloads
How to detect it
Inspect web proxy, browser and system logs for visits to suspicious domains followed by unexpected WebKit crashes or new processes; correlate with endpoint telemetry for post-exploitation behavior such as unusual network connections or file writes.
What your security team should do
- Prioritize patching all Apple endpoints and browsers to the versions listed in remediation guidance
- Monitor EPSS and threat actor activity for any increase in exploitation attempts
- Enforce application allow-listing and browser sandboxing policies to limit impact of successful exploitation
- Review logs for unexpected WebKit or Safari process crashes or new child processes
The record
The issue was addressed with improved memory handling. This issue is fixed in macOS Monterey 12.6.3, macOS Ventura 13.2, watchOS 9.3, macOS Big Sur 11.7.3, Safari 16.3, tvOS 16.3, iOS 16.3 and iPadOS 16.3. Processing maliciously crafted web content may lead to arbitrary code execution.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | webkit2gtk3 | 0 | 2.38.5-1.el8 |
| AlmaLinux:8 | webkit2gtk3-devel | 0 | 2.38.5-1.el8 |
| AlmaLinux:8 | webkit2gtk3-jsc | 0 | 2.38.5-1.el8 |
| AlmaLinux:8 | webkit2gtk3-jsc-devel | 0 | 2.38.5-1.el8 |
| AlmaLinux:9 | webkit2gtk3 | 0 | 2.38.5-1.el9 |
| AlmaLinux:9 | webkit2gtk3-devel | 0 | 2.38.5-1.el9 |
| AlmaLinux:9 | webkit2gtk3-jsc | 0 | 2.38.5-1.el9 |
| AlmaLinux:9 | webkit2gtk3-jsc-devel | 0 | 2.38.5-1.el9 |
| Debian:10 | webkit2gtk | 0 | 2.38.4-2~deb10u1 |
| Debian:11 | webkit2gtk | 0 | 2.38.4-2~deb11u1 |
| Debian:11 | wpewebkit | 0 | 2.38.4-1~deb11u1 |
| Debian:12 | webkit2gtk | 0 | 2.38.4-1 |
| Debian:12 | wpewebkit | 0 | 2.38.4-1 |
| Debian:13 | webkit2gtk | 0 | 2.38.4-1 |
| Debian:13 | wpewebkit | 0 | 2.38.4-1 |
| Mageia:8 | webkit2 | 0 | 2.38.4-1.mga8 |
| Red Hat:enterprise_linux:8::appstream | webkit2gtk3 | 0 | 0:2.38.5-1.el8 |
| Red Hat:enterprise_linux:8::appstream | webkit2gtk3-debuginfo | 0 | 0:2.38.5-1.el8 |
| Red Hat:enterprise_linux:8::appstream | webkit2gtk3-debugsource | 0 | 0:2.38.5-1.el8 |
| Red Hat:enterprise_linux:8::appstream | webkit2gtk3-devel | 0 | 0:2.38.5-1.el8 |
| Red Hat:enterprise_linux:8::appstream | webkit2gtk3-devel-debuginfo | 0 | 0:2.38.5-1.el8 |
| Red Hat:enterprise_linux:8::appstream | webkit2gtk3-jsc | 0 | 0:2.38.5-1.el8 |
| Red Hat:enterprise_linux:8::appstream | webkit2gtk3-jsc-debuginfo | 0 | 0:2.38.5-1.el8 |
| Red Hat:enterprise_linux:8::appstream | webkit2gtk3-jsc-devel | 0 | 0:2.38.5-1.el8 |
| Red Hat:enterprise_linux:8::appstream | webkit2gtk3-jsc-devel-debuginfo | 0 | 0:2.38.5-1.el8 |
| Red Hat:enterprise_linux:9::appstream | webkit2gtk3 | 0 | 0:2.38.5-1.el9 |
| Red Hat:enterprise_linux:9::appstream | webkit2gtk3-debuginfo | 0 | 0:2.38.5-1.el9 |
| Red Hat:enterprise_linux:9::appstream | webkit2gtk3-debugsource | 0 | 0:2.38.5-1.el9 |
| Red Hat:enterprise_linux:9::appstream | webkit2gtk3-devel | 0 | 0:2.38.5-1.el9 |
| Red Hat:enterprise_linux:9::appstream | webkit2gtk3-devel-debuginfo | 0 | 0:2.38.5-1.el9 |
| Red Hat:enterprise_linux:9::appstream | webkit2gtk3-jsc | 0 | 0:2.38.5-1.el9 |
| Red Hat:enterprise_linux:9::appstream | webkit2gtk3-jsc-debuginfo | 0 | 0:2.38.5-1.el9 |
| Red Hat:enterprise_linux:9::appstream | webkit2gtk3-jsc-devel | 0 | 0:2.38.5-1.el9 |
| Red Hat:enterprise_linux:9::appstream | webkit2gtk3-jsc-devel-debuginfo | 0 | 0:2.38.5-1.el9 |
| SUSE:Enterprise Storage 6 | webkit2gtk3 | 0 | 2.38.5-150000.3.134.1 |
| SUSE:Enterprise Storage 7 | webkit2gtk3 | 0 | 2.38.5-150200.66.1 |
| SUSE:Enterprise Storage 7.1 | webkit2gtk3 | 0 | 2.38.5-150200.66.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS | webkit2gtk3 | 0 | 2.38.5-150000.3.134.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | webkit2gtk3 | 0 | 2.38.5-150200.66.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS | webkit2gtk3 | 0 | 2.38.5-150200.66.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | webkit2gtk3 | 0 | 2.38.5-150200.66.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP4 | webkit2gtk3-soup2 | 0 | 2.38.5-150400.4.34.2 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP4 | webkit2gtk3 | 0 | 2.38.5-150400.4.34.2 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP4 | webkit2gtk4 | 0 | 2.38.5-150400.4.34.2 |
| SUSE:Linux Enterprise Real Time 15 SP3 | webkit2gtk3 | 0 | 2.38.5-150200.66.1 |
| SUSE:Linux Enterprise Server 12 SP2-BCL | webkit2gtk3 | 0 | 2.38.5-2.131.4 |
| SUSE:Linux Enterprise Server 12 SP4-ESPOS | webkit2gtk3 | 0 | 2.38.5-2.131.4 |
| SUSE:Linux Enterprise Server 12 SP4-LTSS | webkit2gtk3 | 0 | 2.38.5-2.131.4 |
| SUSE:Linux Enterprise Server 12 SP5 | webkit2gtk3 | 0 | 2.38.5-2.131.4 |
| SUSE:Linux Enterprise Server 12 SP5 | webkit2gtk3 | 0 | 2.38.4-2.126.1 |
| SUSE:Linux Enterprise Server 15 SP1-LTSS | webkit2gtk3 | 0 | 2.38.5-150000.3.134.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | webkit2gtk3 | 0 | 2.38.5-150200.66.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | webkit2gtk3 | 0 | 2.38.5-150200.66.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP4 | webkit2gtk3 | 0 | 2.38.5-2.131.4 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | webkit2gtk3 | 0 | 2.38.5-2.131.4 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | webkit2gtk3 | 0 | 2.38.4-2.126.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP1 | webkit2gtk3 | 0 | 2.38.5-150000.3.134.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | webkit2gtk3 | 0 | 2.38.5-150200.66.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | webkit2gtk3 | 0 | 2.38.5-150200.66.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | webkit2gtk3 | 0 | 2.38.5-2.131.4 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | webkit2gtk3 | 0 | 2.38.4-2.126.1 |
| SUSE:Manager Proxy 4.2 | webkit2gtk3 | 0 | 2.38.5-150200.66.1 |
| SUSE:Manager Server 4.2 | webkit2gtk3 | 0 | 2.38.5-150200.66.1 |
| SUSE:OpenStack Cloud 9 | webkit2gtk3 | 0 | 2.38.5-2.131.4 |
| SUSE:OpenStack Cloud Crowbar 9 | webkit2gtk3 | 0 | 2.38.5-2.131.4 |
| 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.38.4-0ubuntu0.20.04.2 |
| 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.38.4-0ubuntu0.22.04.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.4 | webkit2gtk3 | 0 | 2.38.5-150400.4.34.2 |
| openSUSE:Leap 15.4 | webkit2gtk3 | 0 | 2.38.5-150200.66.1 |
| openSUSE:Leap 15.4 | webkit2gtk3-soup2 | 0 | 2.38.5-150400.4.34.2 |
| openSUSE:Leap 15.4 | webkit2gtk4 | 0 | 2.38.5-150400.4.34.2 |
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