CVE-2020-13753
Critical · 10.0CVSS
10.0
EPSS
3.3%
Published
Jul 14, 2020
CISA due date
—
Cloudanix analysis
A flaw in the protective container around certain web display components could let an attacker run commands or reach files outside that protected area.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Full Compromise
- Component
- Web Framework
- Class
- Improper Input Validation
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The bubblewrap sandbox failed to block CLONE_NEWUSER namespace creation and the TIOCSTI ioctl, allowing confusion of xdg-desktop-portal or direct injection into the controlling terminal's input buffer to escape the sandbox.
Why it matters to the business
Attackers can break out of the application sandbox on affected systems, leading to unauthorized access to user data, execution of commands with broader privileges, and increased compromise risk for desktop applications relying on WebKitGTK or WPE WebKit; the issue has been public for over six years with stable but low exploit probability.
How an attack unfolds
An attacker supplies crafted web content or input that triggers the unblocked CLONE_NEWUSER call to confuse xdg-desktop-portal or uses TIOCSTI to inject commands into the terminal buffer, achieving sandbox escape similar to prior terminal injection issues; listed threat actors such as Candiru have been associated with related WebKit exploitation techniques.
How to fix it
Upgrade affected glib packages to the commit 156d249b7b7b4a91068c808c1e7bdc8db5ad3a9b or later; ensure WebKitGTK and WPE WebKit are at version 2.28.3 or newer; apply vendor updates promptly and verify sandbox configurations block the affected syscalls and ioctls.
How to confirm the fix worked
Confirm package versions match or exceed the fixed glib commit; test sandbox isolation by attempting CLONE_NEWUSER and TIOCSTI operations from within the sandbox and verifying they are denied; review build logs and dependency graphs for the corrected glib.
Typical attack path
- Deliver malicious content to a vulnerable WebKitGTK or WPE WebKit instance
- Trigger CLONE_NEWUSER namespace creation or TIOCSTI ioctl via sandboxed process
- Confuse xdg-desktop-portal or inject into terminal input buffer
- Escape sandbox restrictions to access host resources
- Execute arbitrary commands or access sensitive data outside the sandbox
How to detect it
Examine system and application logs for unexpected process namespace creations, terminal input injections, or interactions with xdg-desktop-portal originating from WebKit processes; correlate with process creation events showing activity outside expected sandbox boundaries.
What your security team should do
- Apply the glib commit fix or equivalent WebKit updates across all affected systems
- Audit sandbox configurations for WebKit-based applications to enforce namespace and ioctl restrictions
- Monitor upstream WebKitGTK and WPE releases for any follow-on hardening
- Review endpoint logs for signs of prior sandbox escape attempts given the long disclosure window
The record
The bubblewrap sandbox of WebKitGTK and WPE WebKit, prior to 2.28.3, failed to properly block access to CLONE_NEWUSER and the TIOCSTI ioctl. CLONE_NEWUSER could potentially be used to confuse xdg-desktop-portal, which allows access outside the sandbox. TIOCSTI can be used to directly execute commands outside the sandbox by writing to the controlling terminal's input buffer, similar to CVE-2017-5226.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:10 | webkit2gtk | 0 | 2.28.3-2~deb10u1 |
| Debian:11 | webkit2gtk | 0 | 2.28.3-1 |
| Debian:11 | wpewebkit | 0 | 2.28.3-1 |
| Debian:12 | webkit2gtk | 0 | 2.28.3-1 |
| Debian:12 | wpewebkit | 0 | 2.28.3-1 |
| Debian:13 | webkit2gtk | 0 | 2.28.3-1 |
| Debian:13 | wpewebkit | 0 | 2.28.3-1 |
| Mageia:7 | webkit2 | 0 | 2.28.4-1.mga7 |
| SUSE:Enterprise Storage 5 | webkit2gtk3 | 0 | 2.28.3-2.56.1 |
| 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.28.3-2.56.1 |
| 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.28.3-3.57.2 |
| 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.28.3-3.57.2 |
| SUSE:Linux Enterprise High Performance Computing 15-LTSS | webkit2gtk3 | 0 | 2.34.3-3.92.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP1 | webkit2gtk3 | 0 | 2.28.3-3.57.2 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP2 | webkit2gtk3 | 0 | 2.28.3-3.3.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP3 | webkit2gtk3 | 0 | 2.34.3-23.3 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP1 | webkit2gtk3 | 0 | 2.28.3-3.57.2 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP2 | webkit2gtk3 | 0 | 2.28.3-3.3.1 |
| 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.28.3-2.56.1 |
| SUSE:Linux Enterprise Server 12 SP2-BCL | webkit2gtk3 | 0 | 2.34.3-2.82.1 |
| SUSE:Linux Enterprise Server 12 SP2-LTSS | webkit2gtk3 | 0 | 2.28.3-2.56.1 |
| SUSE:Linux Enterprise Server 12 SP3-BCL | webkit2gtk3 | 0 | 2.28.3-2.56.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.28.3-2.56.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.28.3-2.56.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.28.3-2.56.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.28.3-3.57.2 |
| SUSE:Linux Enterprise Server 15-LTSS | webkit2gtk3 | 0 | 2.34.3-3.92.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | webkit2gtk3 | 0 | 2.28.3-2.56.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | webkit2gtk3 | 0 | 2.28.3-2.56.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.28.3-2.56.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.28.3-2.56.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.28.3-3.57.2 |
| 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.28.3-2.56.1 |
| 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 7 | webkit2gtk3 | 0 | 2.28.3-2.56.1 |
| SUSE:OpenStack Cloud 8 | webkit2gtk3 | 0 | 2.28.3-2.56.1 |
| SUSE:OpenStack Cloud 8 | webkit2gtk3 | 0 | 2.34.3-2.82.1 |
| SUSE:OpenStack Cloud 9 | webkit2gtk3 | 0 | 2.28.3-2.56.1 |
| SUSE:OpenStack Cloud 9 | webkit2gtk3 | 0 | 2.34.3-2.82.1 |
| SUSE:OpenStack Cloud Crowbar 8 | webkit2gtk3 | 0 | 2.28.3-2.56.1 |
| SUSE:OpenStack Cloud Crowbar 8 | webkit2gtk3 | 0 | 2.34.3-2.82.1 |
| SUSE:OpenStack Cloud Crowbar 9 | webkit2gtk3 | 0 | 2.28.3-2.56.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 | 2.28.3-0ubuntu0.18.04.1 |
| Ubuntu:18.04:LTS | webkit2gtk | 0 | 2.30.3-0ubuntu0.18.04.1 |
| 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.28.3-0ubuntu0.20.04.1 |
| Ubuntu:20.04:LTS | webkit2gtk | 0 | 2.30.3-0ubuntu0.20.04.1 |
| Ubuntu:22.04:LTS | qtwebkit-opensource-src | 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 | webkitgtk | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | qtwebkit-opensource-src | 0 | No fix |
| Ubuntu:Pro:22.04:LTS | qtwebkit-opensource-src | 0 | No fix |
| Ubuntu:Pro:24.04:LTS | qtwebkit-opensource-src | 0 | No fix |
| openSUSE:Leap 15.1 | webkit2gtk3 | 0 | 2.28.3-lp151.2.21.1 |
| openSUSE:Leap 15.3 | webkit2gtk3 | 0 | 2.34.3-23.3 |
| openSUSE:Tumbleweed | gtk3 | 0 | 2.32.4-1.1 |
Related vulnerabilities
- CVE-2024-27834 The issue was addressed with improved checks. Also affects webkit2gtk
- CVE-2024-23280 An injection issue was addressed with improved validation. Also affects webkit2gtk
- CVE-2024-23284 A logic issue was addressed with improved state management. Also affects webkit2gtk
- CVE-2024-23263 A logic issue was addressed with improved validation. Also affects webkit2gtk
- CVE-2024-23254 The issue was addressed with improved UI handling. Also affects webkit2gtk
- CVE-2024-23213 The issue was addressed with improved memory handling. Also affects webkit2gtk
- CVE-2024-23222 A type confusion issue was addressed with improved checks. Also affects webkit2gtk
- CVE-2024-23206 An access issue was addressed with improved access restrictions. Also affects webkit2gtk