CVE-2019-8835
High · 8.8CVSS
8.8
EPSS
2.1%
Published
Oct 27, 2020
CISA due date
—
Cloudanix analysis
A flaw in the software that displays web pages on Apple devices and apps could let attackers take over a computer simply by getting someone to visit 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
Multiple memory corruption flaws in WebKit allow processing of malicious web content to trigger arbitrary code execution in the context of the affected process.
Why it matters to the business
Attackers can fully compromise user devices and applications that render web content, leading to data theft, persistent access, or ransomware deployment across widely deployed Apple and downstream enterprise products.
How an attack unfolds
An attacker crafts a malicious web page that triggers memory corruption in WebKit during rendering; when a victim visits the page via Safari, iCloud, iTunes or another affected client, the flaw is triggered and attacker-controlled code executes without further user interaction beyond loading the page.
How to fix it
Update affected Apple products to the fixed versions listed in the advisory (tvOS 13.3, iCloud for Windows 10.9 or 7.16, iOS 13.3 / iPadOS 13.3, Safari 13.0.4, iTunes 12.10.3 for Windows) and apply equivalent updates for any downstream Red Hat packages that incorporate the WebKit components.
How to confirm the fix worked
Verify product versions against the fixed releases; confirm WebKit build numbers or library versions no longer contain the vulnerable memory-handling code paths.
Typical attack path
- Attacker hosts malicious web content targeting WebKit memory handling
- Victim is enticed or redirected to load the page in an affected Apple product
- WebKit processes the crafted content and triggers memory corruption
- Arbitrary code executes with the privileges of the browser or application process
How to detect it
Review web proxy, browser history, and application crash logs for visits to suspicious domains followed by unexpected process termination or code injection artifacts in WebKit-based processes.
What your security team should do
- Prioritize patching of all internet-facing or user-facing Apple clients immediately due to high impact of remote code execution
- Block or restrict access to untrusted web content on managed devices until updates are deployed
- Monitor for new exploit maturity signals given the long publication window
The record
Multiple memory corruption issues were addressed with improved memory handling. This issue is fixed in tvOS 13.3, iCloud for Windows 10.9, iOS 13.3 and iPadOS 13.3, Safari 13.0.4, iTunes 12.10.3 for Windows, iCloud for Windows 7.16. Processing maliciously crafted web content may lead to arbitrary code execution.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | LibRaw-devel | 0 | 0.19.5-2.el8 |
| AlmaLinux:8 | PackageKit | 0 | 1.1.12-6.el8 |
| AlmaLinux:8 | PackageKit-command-not-found | 0 | 1.1.12-6.el8 |
| AlmaLinux:8 | PackageKit-cron | 0 | 1.1.12-6.el8 |
| AlmaLinux:8 | PackageKit-glib | 0 | 1.1.12-6.el8 |
| AlmaLinux:8 | PackageKit-glib-devel | 0 | 1.1.12-6.el8 |
| AlmaLinux:8 | PackageKit-gstreamer-plugin | 0 | 1.1.12-6.el8 |
| AlmaLinux:8 | PackageKit-gtk3-module | 0 | 1.1.12-6.el8 |
| AlmaLinux:8 | dleyna-renderer | 0 | 0.6.0-3.el8 |
| AlmaLinux:8 | frei0r-devel | 0 | 1.6.1-7.el8 |
| AlmaLinux:8 | frei0r-plugins | 0 | 1.6.1-7.el8 |
| AlmaLinux:8 | frei0r-plugins-opencv | 0 | 1.6.1-7.el8 |
| AlmaLinux:8 | gnome-remote-desktop | 0 | 0.1.8-3.el8 |
| AlmaLinux:8 | gtk-doc | 0 | 1.28-2.el8 |
| AlmaLinux:8 | gvfs | 0 | 1.36.2-10.el8 |
| AlmaLinux:8 | libsoup | 0 | 2.62.3-2.el8 |
| AlmaLinux:8 | libsoup-devel | 0 | 2.62.3-2.el8 |
| AlmaLinux:8 | mutter-devel | 0 | 3.32.2-48.el8 |
| AlmaLinux:8 | nautilus | 0 | 3.28.1-14.el8 |
| AlmaLinux:8 | nautilus-devel | 0 | 3.28.1-14.el8 |
| AlmaLinux:8 | pipewire | 0 | 0.3.6-1.el8 |
| AlmaLinux:8 | pipewire-devel | 0 | 0.3.6-1.el8 |
| AlmaLinux:8 | pipewire-doc | 0 | 0.3.6-1.el8 |
| AlmaLinux:8 | pipewire-libs | 0 | 0.3.6-1.el8 |
| AlmaLinux:8 | pipewire-utils | 0 | 0.3.6-1.el8 |
| AlmaLinux:8 | pipewire0.2-devel | 0 | 0.2.7-6.el8 |
| AlmaLinux:8 | pipewire0.2-libs | 0 | 0.2.7-6.el8 |
| AlmaLinux:8 | potrace | 0 | 1.15-3.el8 |
| AlmaLinux:8 | pygobject3-devel | 0 | 3.28.3-2.el8 |
| AlmaLinux:8 | python3-gobject | 0 | 3.28.3-2.el8 |
| AlmaLinux:8 | python3-gobject-base | 0 | 3.28.3-2.el8 |
| AlmaLinux:8 | tracker | 0 | 2.1.5-2.el8 |
| AlmaLinux:8 | tracker-devel | 0 | 2.1.5-2.el8 |
| AlmaLinux:8 | vte-profile | 0 | 0.52.4-2.el8 |
| AlmaLinux:8 | vte291 | 0 | 0.52.4-2.el8 |
| AlmaLinux:8 | vte291-devel | 0 | 0.52.4-2.el8 |
| AlmaLinux:8 | webrtc-audio-processing | 0 | 0.3-9.el8 |
| AlmaLinux:8 | xdg-desktop-portal-gtk | 0 | 1.6.0-1.el8 |
| Debian:10 | webkit2gtk | 0 | 2.26.3-1~deb10u1 |
| Debian:11 | webkit2gtk | 0 | 2.26.3-1 |
| Debian:12 | webkit2gtk | 0 | 2.26.3-1 |
| Debian:13 | webkit2gtk | 0 | 2.26.3-1 |
| Debian:14 | webkit2gtk | 0 | 2.26.3-1 |
| Mageia:7 | webkit2 | 0 | 2.26.3-1.mga7 |
| Red Hat:enterprise_linux:7::client | webkitgtk4 | 0 | 0:2.28.2-2.el7 |
| Red Hat:enterprise_linux:7::client | webkitgtk4-debuginfo | 0 | 0:2.28.2-2.el7 |
| Red Hat:enterprise_linux:7::client | webkitgtk4-devel | 0 | 0:2.28.2-2.el7 |
| Red Hat:enterprise_linux:7::client | webkitgtk4-doc | 0 | 0:2.28.2-2.el7 |
| Red Hat:enterprise_linux:7::client | webkitgtk4-jsc | 0 | 0:2.28.2-2.el7 |
| Red Hat:enterprise_linux:7::client | webkitgtk4-jsc-devel | 0 | 0:2.28.2-2.el7 |
| Red Hat:enterprise_linux:7::computenode | webkitgtk4 | 0 | 0:2.28.2-2.el7 |
| Red Hat:enterprise_linux:7::computenode | webkitgtk4-debuginfo | 0 | 0:2.28.2-2.el7 |
| Red Hat:enterprise_linux:7::computenode | webkitgtk4-devel | 0 | 0:2.28.2-2.el7 |
| Red Hat:enterprise_linux:7::computenode | webkitgtk4-doc | 0 | 0:2.28.2-2.el7 |
| Red Hat:enterprise_linux:7::computenode | webkitgtk4-jsc | 0 | 0:2.28.2-2.el7 |
| Red Hat:enterprise_linux:7::computenode | webkitgtk4-jsc-devel | 0 | 0:2.28.2-2.el7 |
| Red Hat:enterprise_linux:7::server | webkitgtk4 | 0 | 0:2.28.2-2.el7 |
| Red Hat:enterprise_linux:7::server | webkitgtk4-debuginfo | 0 | 0:2.28.2-2.el7 |
| Red Hat:enterprise_linux:7::server | webkitgtk4-devel | 0 | 0:2.28.2-2.el7 |
| Red Hat:enterprise_linux:7::server | webkitgtk4-doc | 0 | 0:2.28.2-2.el7 |
| Red Hat:enterprise_linux:7::server | webkitgtk4-jsc | 0 | 0:2.28.2-2.el7 |
| Red Hat:enterprise_linux:7::server | webkitgtk4-jsc-devel | 0 | 0:2.28.2-2.el7 |
| Red Hat:enterprise_linux:7::workstation | webkitgtk4 | 0 | 0:2.28.2-2.el7 |
| Red Hat:enterprise_linux:7::workstation | webkitgtk4-debuginfo | 0 | 0:2.28.2-2.el7 |
| Red Hat:enterprise_linux:7::workstation | webkitgtk4-devel | 0 | 0:2.28.2-2.el7 |
| Red Hat:enterprise_linux:7::workstation | webkitgtk4-doc | 0 | 0:2.28.2-2.el7 |
| Red Hat:enterprise_linux:7::workstation | webkitgtk4-jsc | 0 | 0:2.28.2-2.el7 |
| Red Hat:enterprise_linux:7::workstation | webkitgtk4-jsc-devel | 0 | 0:2.28.2-2.el7 |
| Red Hat:enterprise_linux:8::appstream | LibRaw | 0 | 0:0.19.5-2.el8 |
| Red Hat:enterprise_linux:8::appstream | LibRaw-debuginfo | 0 | 0:0.19.5-2.el8 |
| Red Hat:enterprise_linux:8::appstream | LibRaw-debugsource | 0 | 0:0.19.5-2.el8 |
| Red Hat:enterprise_linux:8::appstream | LibRaw-devel | 0 | 0:0.19.5-2.el8 |
| Red Hat:enterprise_linux:8::appstream | LibRaw-samples-debuginfo | 0 | 0:0.19.5-2.el8 |
| Red Hat:enterprise_linux:8::appstream | gnome-settings-daemon | 0 | 0:3.32.0-11.el8 |
| Red Hat:enterprise_linux:8::appstream | gnome-settings-daemon-debuginfo | 0 | 0:3.32.0-11.el8 |
| Red Hat:enterprise_linux:8::appstream | gnome-settings-daemon-debugsource | 0 | 0:3.32.0-11.el8 |
| Red Hat:enterprise_linux:8::appstream | webkit2gtk3 | 0 | 0:2.28.4-1.el8 |
| Red Hat:enterprise_linux:8::appstream | webkit2gtk3-debuginfo | 0 | 0:2.28.4-1.el8 |
| Red Hat:enterprise_linux:8::appstream | webkit2gtk3-debugsource | 0 | 0:2.28.4-1.el8 |
| Red Hat:enterprise_linux:8::appstream | webkit2gtk3-devel | 0 | 0:2.28.4-1.el8 |
| Red Hat:enterprise_linux:8::appstream | webkit2gtk3-devel-debuginfo | 0 | 0:2.28.4-1.el8 |
| Red Hat:enterprise_linux:8::appstream | webkit2gtk3-jsc | 0 | 0:2.28.4-1.el8 |
| Red Hat:enterprise_linux:8::appstream | webkit2gtk3-jsc-debuginfo | 0 | 0:2.28.4-1.el8 |
| Red Hat:enterprise_linux:8::appstream | webkit2gtk3-jsc-devel | 0 | 0:2.28.4-1.el8 |
| Red Hat:enterprise_linux:8::appstream | webkit2gtk3-jsc-devel-debuginfo | 0 | 0:2.28.4-1.el8 |
| Red Hat:enterprise_linux:8::crb | LibRaw | 0 | 0:0.19.5-2.el8 |
| Red Hat:enterprise_linux:8::crb | LibRaw-debuginfo | 0 | 0:0.19.5-2.el8 |
| Red Hat:enterprise_linux:8::crb | LibRaw-debugsource | 0 | 0:0.19.5-2.el8 |
| Red Hat:enterprise_linux:8::crb | LibRaw-devel | 0 | 0:0.19.5-2.el8 |
| Red Hat:enterprise_linux:8::crb | LibRaw-samples-debuginfo | 0 | 0:0.19.5-2.el8 |
| Rocky Linux:8 | LibRaw | 0 | 0:0.19.5-2.el8 |
| Rocky Linux:8 | PackageKit | 0 | 0:1.1.12-6.el8 |
| Rocky Linux:8 | dleyna-renderer | 0 | 0:0.6.0-3.el8 |
| Rocky Linux:8 | frei0r-plugins | 0 | 0:1.6.1-7.el8 |
| Rocky Linux:8 | gnome-remote-desktop | 0 | 0:0.1.8-3.el8 |
| Rocky Linux:8 | gnome-session | 0 | 0:3.28.1-10.el8 |
| Rocky Linux:8 | gsettings-desktop-schemas | 0 | 0:3.32.0-5.el8 |
| Rocky Linux:8 | gtk3 | 0 | 0:3.22.30-6.el8 |
| Rocky Linux:8 | libsoup | 0 | 0:2.62.3-2.el8 |
| Rocky Linux:8 | pipewire | 0 | 0:0.3.6-1.el8 |
| Rocky Linux:8 | pipewire0.2 | 0 | 0:0.2.7-6.el8 |
| Rocky Linux:8 | potrace | 0 | 0:1.15-3.el8 |
| Rocky Linux:8 | pygobject3 | 0 | 0:3.28.3-2.el8 |
| Rocky Linux:8 | tracker | 0 | 0:2.1.5-2.el8 |
| Rocky Linux:8 | vte291 | 0 | 0:0.52.4-2.el8 |
| Rocky Linux:8 | webrtc-audio-processing | 0 | 0:0.3-9.el8 |
| Rocky Linux:8 | xdg-desktop-portal-gtk | 0 | 0:1.6.0-1.el8 |
| SUSE:Enterprise Storage 5 | webkit2gtk3 | 0 | 2.28.1-2.50.3 |
| SUSE:HPE Helion OpenStack 8 | webkit2gtk3 | 0 | 2.28.1-2.50.3 |
| SUSE:Linux Enterprise High Performance Computing 15-ESPOS | webkit2gtk3 | 0 | 2.26.4-3.43.1 |
| SUSE:Linux Enterprise High Performance Computing 15-LTSS | webkit2gtk3 | 0 | 2.26.4-3.43.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 | webkit2gtk3 | 0 | 2.26.4-3.43.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP1 | webkit2gtk3 | 0 | 2.26.4-3.43.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 | webkit2gtk3 | 0 | 2.26.4-3.43.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP1 | webkit2gtk3 | 0 | 2.26.4-3.43.1 |
| SUSE:Linux Enterprise Server 12 SP2-BCL | webkit2gtk3 | 0 | 2.28.1-2.50.3 |
| SUSE:Linux Enterprise Server 12 SP2-LTSS | webkit2gtk3 | 0 | 2.28.1-2.50.3 |
| SUSE:Linux Enterprise Server 12 SP3-BCL | webkit2gtk3 | 0 | 2.28.1-2.50.3 |
| SUSE:Linux Enterprise Server 12 SP3-LTSS | webkit2gtk3 | 0 | 2.28.1-2.50.3 |
| SUSE:Linux Enterprise Server 12 SP4 | webkit2gtk3 | 0 | 2.28.1-2.50.3 |
| SUSE:Linux Enterprise Server 12 SP5 | webkit2gtk3 | 0 | 2.28.1-2.50.3 |
| SUSE:Linux Enterprise Server 15-LTSS | webkit2gtk3 | 0 | 2.26.4-3.43.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | webkit2gtk3 | 0 | 2.28.1-2.50.3 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | webkit2gtk3 | 0 | 2.28.1-2.50.3 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP4 | webkit2gtk3 | 0 | 2.28.1-2.50.3 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | webkit2gtk3 | 0 | 2.28.1-2.50.3 |
| SUSE:Linux Enterprise Server for SAP Applications 15 | webkit2gtk3 | 0 | 2.26.4-3.43.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP4 | webkit2gtk3 | 0 | 2.28.1-2.50.3 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | webkit2gtk3 | 0 | 2.28.1-2.50.3 |
| SUSE:Linux Enterprise Workstation Extension 12 SP4 | webkit2gtk3 | 0 | 2.28.1-2.50.3 |
| SUSE:OpenStack Cloud 7 | webkit2gtk3 | 0 | 2.28.1-2.50.3 |
| SUSE:OpenStack Cloud 8 | webkit2gtk3 | 0 | 2.28.1-2.50.3 |
| SUSE:OpenStack Cloud Crowbar 8 | webkit2gtk3 | 0 | 2.28.1-2.50.3 |
| 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.26.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.26.3-1ubuntu2 |
| 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.26.4-lp151.2.12.1 |
| openSUSE:Tumbleweed | gtk3 | 0 | 2.32.4-1.1 |
Related vulnerabilities
- CVE-2021-30663 An integer overflow was addressed with improved input validation. Also affects LibRaw-devel
- CVE-2021-30665 A memory corruption issue was addressed with improved state management. Also affects LibRaw-devel
- CVE-2021-21775 A use-after-free vulnerability exists in the way certain events are processed for… Also affects LibRaw-devel
- CVE-2021-1870 A logic issue was addressed with improved restrictions. Also affects LibRaw-devel
- CVE-2021-1871 A logic issue was addressed with improved restrictions. Also affects LibRaw-devel
- CVE-2021-1788 A use after free issue was addressed with improved memory management. Also affects LibRaw-devel
- CVE-2021-1789 A type confusion issue was addressed with improved state handling. Also affects LibRaw-devel
- CVE-2020-13558 A code execution vulnerability exists in the AudioSourceProviderGStreamer functionality… Also affects LibRaw-devel