CVE-2023-25358
High · 8.8CVSS
8.8
EPSS
1.1%
Published
Mar 2, 2023
CISA due date
—
Cloudanix analysis
A bug in the web display component used by some Linux programs could let a malicious website take control of a user's computer.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Moderate
- Impact
- Remote Code Execution
- Component
- Library
- Class
- Use After Free
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Use-after-free in WebCore::RenderLayer::addChild allows attacker-controlled memory reuse during layer rendering, leading to arbitrary code execution in the WebKitGTK process.
Why it matters to the business
Systems using older WebKitGTK versions face risk of remote compromise when rendering untrusted web content, potentially exposing user data or enabling malware persistence on Linux desktops and applications that embed the library.
How an attack unfolds
An attacker hosts or compromises a webpage that triggers the vulnerable RenderLayer code path; when a victim application renders the page, the freed object is reused with attacker data, corrupting control flow and executing shellcode within the renderer process.
How to fix it
Upgrade WebKitGTK to version 2.36.8 or later; rebuild and restart any dependent applications or distributions such as Fedora packages that embed the 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 web views with known trigger content to confirm absence of crash or memory corruption.
Typical attack path
- Craft or compromise a webpage containing malicious HTML/CSS/JS that exercises RenderLayer::addChild
- Deliver the page via phishing, compromised site, or embedded web view
- Victim application parses and renders the content, triggering the use-after-free
- Attacker reclaims the freed memory to hijack execution and run arbitrary code
How to detect it
Review application and system logs for unexpected crashes or segfaults in WebKitGTK or WebKitWebProcess processes; correlate with web traffic to recently visited or suspicious domains.
What your security team should do
- Immediately update all WebKitGTK packages to 2.36.8+ across servers and endpoints
- Scan inventories for applications embedding WebKitGTK and prioritize their updates
- Monitor for new exploit maturity signals given the stable low EPSS and lack of KEV listing
The record
A use-after-free vulnerability in WebCore::RenderLayer::addChild 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 |
| Mageia:8 | webkit2 | 0 | 2.38.6-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 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 | 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.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.38.6-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.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