CVE-2023-25361
High · 8.8CVSS
8.8
EPSS
1.0%
Published
Mar 2, 2023
CISA due date
—
Cloudanix analysis
A flaw in web display software lets attackers take over a user's computer simply by getting them to view a malicious webpage.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Moderate
- Impact
- Remote Code Execution
- Component
- Web Framework
- Class
- Use After Free
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Use-after-free in WebCore::RenderLayer::setNextSibling allows memory corruption that leads to remote code execution when processing specially crafted web content.
Why it matters to the business
Attackers can fully compromise systems running vulnerable WebKitGTK, resulting in data theft, malware installation, or lateral movement; the flaw has been referenced in Apple product advisories and remains exploitable years after disclosure.
How an attack unfolds
An attacker crafts a malicious webpage that triggers the use-after-free during RenderLayer sibling manipulation; when a user visits the page in an application using the affected WebKitGTK version, the freed memory is reused to execute attacker-controlled code. References to Apple Multiple Products Unspecified Vulnerability and WebKit Use-After-Free campaigns indicate similar patterns observed in targeted web attacks.
How to fix it
Upgrade WebKitGTK to version 2.36.8 or later; rebuild and redeploy dependent applications; apply vendor patches or container updates that include the fixed library.
How to confirm the fix worked
Verify installed WebKitGTK version is 2.36.8 or newer via package manager or library headers; re-test affected applications with known triggering content in a controlled environment.
Typical attack path
- Deliver malicious HTML/JS via phishing, compromised site, or drive-by download
- Victim renders the page in a WebKitGTK-based application
- setNextSibling triggers use-after-free and memory corruption
- Attacker achieves arbitrary code execution and installs payload
How to detect it
Review web browser or application logs for crashes involving WebCore::RenderLayer; inspect process memory dumps or core files for signs of heap manipulation around RenderLayer objects; correlate with user visits to previously unknown or suspicious domains.
What your security team should do
- Prioritize patching all systems using WebKitGTK within the next 30 days given public references and long disclosure window
- Inventory applications and containers that embed or link against webkitgtk and schedule upgrades
- Block or sandbox untrusted web content in high-risk environments until patches are applied
- Monitor EPSS and threat intelligence feeds for any future exploit maturity increase
The record
A use-after-free vulnerability in WebCore::RenderLayer::setNextSibling in WebKitGTK before 2.36.8 allows attackers to execute code remotely.
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.0-1~deb10u1 |
| Debian:11 | webkit2gtk | 0 | 2.38.0-1~deb11u1 |
| Debian:11 | wpewebkit | 0 | 2.38.0-1~deb11u1 |
| Debian:12 | webkit2gtk | 0 | 2.38.0-1 |
| Debian:12 | wpewebkit | 0 | 2.38.0-1 |
| Debian:13 | webkit2gtk | 0 | 2.38.0-1 |
| Debian:13 | wpewebkit | 0 | 2.38.0-1 |
| 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 7 | webkit2gtk3 | 0 | 2.38.6-150200.72.1 |
| SUSE:Enterprise Storage 7.1 | webkit2gtk3 | 0 | 2.38.6-150200.72.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS | webkit2gtk3 | 0 | 2.38.6-150000.3.139.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | webkit2gtk3 | 0 | 2.38.6-150200.72.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS | webkit2gtk3 | 0 | 2.38.6-150200.72.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | webkit2gtk3 | 0 | 2.38.6-150200.72.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP4 | webkit2gtk3-soup2 | 0 | 2.38.6-150400.4.39.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP4 | webkit2gtk3 | 0 | 2.38.6-150400.4.39.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP4 | webkit2gtk4 | 0 | 2.38.6-150400.4.39.1 |
| SUSE:Linux Enterprise Real Time 15 SP3 | webkit2gtk3 | 0 | 2.38.6-150200.72.1 |
| SUSE:Linux Enterprise Server 12 SP2-BCL | webkit2gtk3 | 0 | 2.38.6-2.136.1 |
| SUSE:Linux Enterprise Server 12 SP4-ESPOS | webkit2gtk3 | 0 | 2.38.6-2.136.1 |
| SUSE:Linux Enterprise Server 12 SP4-LTSS | webkit2gtk3 | 0 | 2.38.6-2.136.1 |
| SUSE:Linux Enterprise Server 12 SP5 | webkit2gtk3 | 0 | 2.38.6-2.136.1 |
| SUSE:Linux Enterprise Server 15 SP1-LTSS | webkit2gtk3 | 0 | 2.38.6-150000.3.139.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | webkit2gtk3 | 0 | 2.38.6-150200.72.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | webkit2gtk3 | 0 | 2.38.6-150200.72.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP4 | webkit2gtk3 | 0 | 2.38.6-2.136.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | webkit2gtk3 | 0 | 2.38.6-2.136.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP1 | webkit2gtk3 | 0 | 2.38.6-150000.3.139.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | webkit2gtk3 | 0 | 2.38.6-150200.72.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | webkit2gtk3 | 0 | 2.38.6-150200.72.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | webkit2gtk3 | 0 | 2.38.6-2.136.1 |
| SUSE:Manager Proxy 4.2 | webkit2gtk3 | 0 | 2.38.6-150200.72.1 |
| SUSE:Manager Server 4.2 | webkit2gtk3 | 0 | 2.38.6-150200.72.1 |
| SUSE:OpenStack Cloud 9 | webkit2gtk3 | 0 | 2.38.6-2.136.1 |
| SUSE:OpenStack Cloud Crowbar 9 | webkit2gtk3 | 0 | 2.38.6-2.136.1 |
| Ubuntu:16.04:LTS | webkitgtk | 0 | No fix |
| Ubuntu:18.04:LTS | webkitgtk | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | webkitgtk | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | webkitgtk | 0 | No fix |
| openSUSE:Leap 15.4 | webkit2gtk3 | 0 | 2.38.6-150400.4.39.1 |
| openSUSE:Leap 15.4 | webkit2gtk3 | 0 | 2.38.6-150200.72.1 |
| openSUSE:Leap 15.4 | webkit2gtk3-soup2 | 0 | 2.38.6-150400.4.39.1 |
| openSUSE:Leap 15.4 | webkit2gtk4 | 0 | 2.38.6-150400.4.39.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