CVE-2020-9862
High · 7.8CVSS
7.8
EPSS
1.9%
Published
Oct 16, 2020
CISA due date
—
Cloudanix analysis
A bug in Apple's web debugging tool could let someone run harmful commands on your device if you copy a specially made link.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Full Compromise
- Component
- Application
- Class
- Command Injection
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Command injection in Web Inspector due to insufficient escaping of URLs, allowing arbitrary command execution with user privileges on affected Apple platforms.
Why it matters to the business
Potential full device compromise on widely deployed Apple systems enabling data theft or persistence, though low exploit maturity reduces immediate operational disruption risk.
How an attack unfolds
An attacker crafts a malicious URL embedding shell commands; the victim loads it in Web Inspector and copies the URL, triggering unsanitized input that executes the payload locally.
How to fix it
Upgrade to iOS 13.6 / iPadOS 13.6, tvOS 13.4.8, watchOS 6.2.8, Safari 13.1.2, iTunes 12.10.8 for Windows, iCloud for Windows 11.3 or 7.20.
How to confirm the fix worked
Inspect installed version strings on each affected product against the fixed releases; confirm absence of vulnerable Web Inspector binaries.
Typical attack path
- Craft URL containing command injection payload targeting Web Inspector escaping flaw
- Social engineer victim into loading URL and opening Web Inspector
- Victim copies URL from inspector interface
- Injected commands execute under user context
How to detect it
Review process creation logs and command-line audit trails for unexpected shell activity immediately following Web Inspector usage on developer or test systems.
What your security team should do
- Apply listed updates to all Apple endpoints and browsers immediately
- Disable Web Inspector in production Safari profiles where feasible
- Add version checks to endpoint compliance scanning
The record
A command injection issue existed in Web Inspector. This issue was addressed with improved escaping. This issue is fixed in iOS 13.6 and iPadOS 13.6, tvOS 13.4.8, watchOS 6.2.8, Safari 13.1.2, iTunes 12.10.8 for Windows, iCloud for Windows 11.3, iCloud for Windows 7.20. Copying a URL from Web Inspector may lead to command injection.
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.28.4-1~deb10u1 |
| Debian:11 | webkit2gtk | 0 | 2.28.4-1 |
| Debian:11 | wpewebkit | 0 | 2.28.4-1 |
| Debian:12 | webkit2gtk | 0 | 2.28.4-1 |
| Debian:12 | wpewebkit | 0 | 2.28.4-1 |
| Debian:13 | webkit2gtk | 0 | 2.28.4-1 |
| Debian:13 | wpewebkit | 0 | 2.28.4-1 |
| 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.4-2.59.1 |
| SUSE:HPE Helion OpenStack 8 | webkit2gtk3 | 0 | 2.28.4-2.59.1 |
| SUSE:Linux Enterprise High Performance Computing 15-ESPOS | webkit2gtk3 | 0 | 2.28.4-3.60.1 |
| SUSE:Linux Enterprise High Performance Computing 15-LTSS | webkit2gtk3 | 0 | 2.28.4-3.60.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP1 | webkit2gtk3 | 0 | 2.28.4-3.60.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP2 | webkit2gtk3 | 0 | 2.28.4-3.6.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP1 | webkit2gtk3 | 0 | 2.28.4-3.60.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP2 | webkit2gtk3 | 0 | 2.28.4-3.6.1 |
| SUSE:Linux Enterprise Server 12 SP2-BCL | webkit2gtk3 | 0 | 2.28.4-2.59.1 |
| SUSE:Linux Enterprise Server 12 SP2-LTSS | webkit2gtk3 | 0 | 2.28.4-2.59.1 |
| SUSE:Linux Enterprise Server 12 SP3-BCL | webkit2gtk3 | 0 | 2.28.4-2.59.1 |
| SUSE:Linux Enterprise Server 12 SP3-LTSS | webkit2gtk3 | 0 | 2.28.4-2.59.1 |
| SUSE:Linux Enterprise Server 12 SP4-LTSS | webkit2gtk3 | 0 | 2.28.4-2.59.1 |
| SUSE:Linux Enterprise Server 12 SP5 | webkit2gtk3 | 0 | 2.28.4-2.59.1 |
| SUSE:Linux Enterprise Server 15-LTSS | webkit2gtk3 | 0 | 2.28.4-3.60.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | webkit2gtk3 | 0 | 2.28.4-2.59.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | webkit2gtk3 | 0 | 2.28.4-2.59.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP4 | webkit2gtk3 | 0 | 2.28.4-2.59.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | webkit2gtk3 | 0 | 2.28.4-2.59.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 | webkit2gtk3 | 0 | 2.28.4-3.60.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | webkit2gtk3 | 0 | 2.28.4-2.59.1 |
| SUSE:OpenStack Cloud 7 | webkit2gtk3 | 0 | 2.28.4-2.59.1 |
| SUSE:OpenStack Cloud 8 | webkit2gtk3 | 0 | 2.28.4-2.59.1 |
| SUSE:OpenStack Cloud 9 | webkit2gtk3 | 0 | 2.28.4-2.59.1 |
| SUSE:OpenStack Cloud Crowbar 8 | webkit2gtk3 | 0 | 2.28.4-2.59.1 |
| SUSE:OpenStack Cloud Crowbar 9 | webkit2gtk3 | 0 | 2.28.4-2.59.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.4-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.4-0ubuntu0.20.04.1 |
| Ubuntu:20.04:LTS | wpewebkit | 0 | No fix |
| 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:20.04:LTS | wpewebkit | 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.4-lp151.2.24.3 |
| openSUSE:Leap 15.2 | webkit2gtk3 | 0 | 2.28.4-lp152.2.4.3 |
| 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