CVE-2023-23602
Medium · 6.5CVSS
6.5
EPSS
0.6%
Published
Jun 2, 2023
CISA due date
—
Cloudanix analysis
Older versions of some web browsers could let websites open hidden connections they were supposed to block, which might allow information to leave the browser against the site's security rules.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Data Exposure
- Component
- Application
- Class
- Authorization Bypass
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Mishandled security check allows WebSocket creation inside WebWorkers to bypass the connect-src directive of Content Security Policy, enabling connections to origins that should be restricted.
Why it matters to the business
Organizations relying on older browser deployments face increased risk of unauthorized network connections from web content, potentially leading to data leakage or policy violations in environments that use strict content security controls.
How an attack unfolds
An attacker hosts malicious web content that loads a WebWorker; the worker creates a WebSocket to a restricted origin; because the CSP check is skipped, the connection succeeds despite policy restrictions, allowing further actions such as data exfiltration or command-and-control communication.
How to fix it
Upgrade Mozilla Firefox to version 109 or later, Firefox ESR to 102.7 or later, and Thunderbird to 102.7 or later. Where upgrades are delayed, enforce strict CSP on all web applications and consider browser isolation or blocking of WebWorker usage for high-risk sites.
How to confirm the fix worked
Confirm installed browser versions meet or exceed the fixed releases; test affected pages with a connect-src policy and verify that WebSocket attempts from WebWorkers are now blocked; review CSP reports for any unexpected connect-src violations.
Typical attack path
- Victim visits attacker-controlled or compromised web page
- Page spawns a WebWorker
- Worker attempts WebSocket connection to an origin blocked by connect-src
- Security check is bypassed and connection is established
- Attacker uses the channel for unauthorized actions
How to detect it
Review browser version inventory to identify unpatched instances; examine web server or proxy logs for WebSocket connections that violate expected CSP origins; inspect CSP violation reports for entries originating from worker contexts.
What your security team should do
- Prioritize browser updates across all managed endpoints within standard patch windows
- Audit web applications for reliance on connect-src and ensure policies remain effective after updates
- Monitor vendor advisories for any follow-on fixes in related Mozilla products
The record
A mishandled security check when creating a WebSocket in a WebWorker caused the Content Security Policy connect-src header to be ignored. This could lead to connections to restricted origins from inside WebWorkers. This vulnerability affects Firefox < 109, Thunderbird < 102.7, and Firefox ESR < 102.7.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | firefox | 0 | 102.7.0-1.el8_7.alma |
| AlmaLinux:8 | thunderbird | 0 | 102.7.1-1.el8_7.alma |
| AlmaLinux:9 | firefox | 0 | 102.7.0-1.el9_1.alma |
| AlmaLinux:9 | thunderbird | 0 | 102.7.1-1.el9_1.alma |
| Debian:10 | firefox-esr | 0 | 102.7.0esr-1~deb10u1 |
| Debian:10 | thunderbird | 0 | 1:102.8.0-1~deb10u1 |
| Debian:11 | firefox-esr | 0 | 102.7.0esr-1~deb11u1 |
| Debian:11 | thunderbird | 0 | 1:102.8.0-1~deb11u1 |
| Debian:12 | firefox-esr | 0 | 102.7.0esr-1 |
| Debian:12 | thunderbird | 0 | 1:102.7.1-1 |
| Debian:13 | firefox-esr | 0 | 102.7.0esr-1 |
| Debian:13 | thunderbird | 0 | 1:102.7.1-1 |
| Mageia:8 | firefox | 0 | 102.7.0-1.mga8 |
| Mageia:8 | firefox-l10n | 0 | 102.7.0-1.mga8 |
| Mageia:8 | nss | 0 | 3.87.0-1.mga8 |
| Mageia:8 | thunderbird | 0 | 102.7.1-1.mga8 |
| Mageia:8 | thunderbird-l10n | 0 | 102.7.1-1.mga8 |
| Red Hat:enterprise_linux:7::client | firefox | 0 | 0:102.7.0-1.el7_9 |
| Red Hat:enterprise_linux:7::client | firefox-debuginfo | 0 | 0:102.7.0-1.el7_9 |
| Red Hat:enterprise_linux:7::client | thunderbird | 0 | 0:102.7.1-1.el7_9 |
| Red Hat:enterprise_linux:7::client | thunderbird-debuginfo | 0 | 0:102.7.1-1.el7_9 |
| Red Hat:enterprise_linux:7::server | firefox | 0 | 0:102.7.0-1.el7_9 |
| Red Hat:enterprise_linux:7::server | firefox-debuginfo | 0 | 0:102.7.0-1.el7_9 |
| Red Hat:enterprise_linux:7::server | thunderbird | 0 | 0:102.7.1-1.el7_9 |
| Red Hat:enterprise_linux:7::server | thunderbird-debuginfo | 0 | 0:102.7.1-1.el7_9 |
| Red Hat:enterprise_linux:7::workstation | firefox | 0 | 0:102.7.0-1.el7_9 |
| Red Hat:enterprise_linux:7::workstation | firefox-debuginfo | 0 | 0:102.7.0-1.el7_9 |
| Red Hat:enterprise_linux:7::workstation | thunderbird | 0 | 0:102.7.1-1.el7_9 |
| Red Hat:enterprise_linux:7::workstation | thunderbird-debuginfo | 0 | 0:102.7.1-1.el7_9 |
| Red Hat:enterprise_linux:8::appstream | firefox | 0 | 0:102.7.0-1.el8_7 |
| Red Hat:enterprise_linux:8::appstream | firefox-debuginfo | 0 | 0:102.7.0-1.el8_7 |
| Red Hat:enterprise_linux:8::appstream | firefox-debugsource | 0 | 0:102.7.0-1.el8_7 |
| Red Hat:enterprise_linux:8::appstream | thunderbird | 0 | 0:102.7.1-1.el8_7 |
| Red Hat:enterprise_linux:8::appstream | thunderbird-debuginfo | 0 | 0:102.7.1-1.el8_7 |
| Red Hat:enterprise_linux:8::appstream | thunderbird-debugsource | 0 | 0:102.7.1-1.el8_7 |
| Red Hat:enterprise_linux:9::appstream | firefox | 0 | 0:102.7.0-1.el9_1 |
| Red Hat:enterprise_linux:9::appstream | firefox-debuginfo | 0 | 0:102.7.0-1.el9_1 |
| Red Hat:enterprise_linux:9::appstream | firefox-debugsource | 0 | 0:102.7.0-1.el9_1 |
| Red Hat:enterprise_linux:9::appstream | thunderbird | 0 | 0:102.7.1-1.el9_1 |
| Red Hat:enterprise_linux:9::appstream | thunderbird-debuginfo | 0 | 0:102.7.1-1.el9_1 |
| Red Hat:enterprise_linux:9::appstream | thunderbird-debugsource | 0 | 0:102.7.1-1.el9_1 |
| Red Hat:rhel_aus:8.2::appstream | firefox | 0 | 0:102.7.0-1.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | firefox-debuginfo | 0 | 0:102.7.0-1.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | firefox-debugsource | 0 | 0:102.7.0-1.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | thunderbird | 0 | 0:102.7.1-1.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | thunderbird-debuginfo | 0 | 0:102.7.1-1.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | thunderbird-debugsource | 0 | 0:102.7.1-1.el8_2 |
| Red Hat:rhel_e4s:8.1::appstream | firefox | 0 | 0:102.7.0-1.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | firefox-debuginfo | 0 | 0:102.7.0-1.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | firefox-debugsource | 0 | 0:102.7.0-1.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | thunderbird | 0 | 0:102.7.1-1.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | thunderbird-debuginfo | 0 | 0:102.7.1-1.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | thunderbird-debugsource | 0 | 0:102.7.1-1.el8_1 |
| Red Hat:rhel_e4s:8.2::appstream | firefox | 0 | 0:102.7.0-1.el8_2 |
| Red Hat:rhel_e4s:8.2::appstream | firefox-debuginfo | 0 | 0:102.7.0-1.el8_2 |
| Red Hat:rhel_e4s:8.2::appstream | firefox-debugsource | 0 | 0:102.7.0-1.el8_2 |
| Red Hat:rhel_e4s:8.2::appstream | thunderbird | 0 | 0:102.7.1-1.el8_2 |
| Red Hat:rhel_e4s:8.2::appstream | thunderbird-debuginfo | 0 | 0:102.7.1-1.el8_2 |
| Red Hat:rhel_e4s:8.2::appstream | thunderbird-debugsource | 0 | 0:102.7.1-1.el8_2 |
| Red Hat:rhel_eus:8.4::appstream | firefox | 0 | 0:102.7.0-1.el8_4 |
| Red Hat:rhel_eus:8.4::appstream | firefox-debuginfo | 0 | 0:102.7.0-1.el8_4 |
| Red Hat:rhel_eus:8.4::appstream | firefox-debugsource | 0 | 0:102.7.0-1.el8_4 |
| Red Hat:rhel_eus:8.4::appstream | thunderbird | 0 | 0:102.7.1-1.el8_4 |
| Red Hat:rhel_eus:8.4::appstream | thunderbird-debuginfo | 0 | 0:102.7.1-1.el8_4 |
| Red Hat:rhel_eus:8.4::appstream | thunderbird-debugsource | 0 | 0:102.7.1-1.el8_4 |
| Red Hat:rhel_eus:8.6::appstream | firefox | 0 | 0:102.7.0-1.el8_6 |
| Red Hat:rhel_eus:8.6::appstream | firefox-debuginfo | 0 | 0:102.7.0-1.el8_6 |
| Red Hat:rhel_eus:8.6::appstream | firefox-debugsource | 0 | 0:102.7.0-1.el8_6 |
| Red Hat:rhel_eus:8.6::appstream | thunderbird | 0 | 0:102.7.1-1.el8_6 |
| Red Hat:rhel_eus:8.6::appstream | thunderbird-debuginfo | 0 | 0:102.7.1-1.el8_6 |
| Red Hat:rhel_eus:8.6::appstream | thunderbird-debugsource | 0 | 0:102.7.1-1.el8_6 |
| Red Hat:rhel_eus:9.0::appstream | firefox | 0 | 0:102.7.0-1.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | firefox-debuginfo | 0 | 0:102.7.0-1.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | firefox-debugsource | 0 | 0:102.7.0-1.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | thunderbird | 0 | 0:102.7.1-1.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | thunderbird-debuginfo | 0 | 0:102.7.1-1.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | thunderbird-debugsource | 0 | 0:102.7.1-1.el9_0 |
| Red Hat:rhel_tus:8.2::appstream | firefox | 0 | 0:102.7.0-1.el8_2 |
| Red Hat:rhel_tus:8.2::appstream | firefox-debuginfo | 0 | 0:102.7.0-1.el8_2 |
| Red Hat:rhel_tus:8.2::appstream | firefox-debugsource | 0 | 0:102.7.0-1.el8_2 |
| Red Hat:rhel_tus:8.2::appstream | thunderbird | 0 | 0:102.7.1-1.el8_2 |
| Red Hat:rhel_tus:8.2::appstream | thunderbird-debuginfo | 0 | 0:102.7.1-1.el8_2 |
| Red Hat:rhel_tus:8.2::appstream | thunderbird-debugsource | 0 | 0:102.7.1-1.el8_2 |
| Rocky Linux:8 | firefox | 0 | 0:102.7.0-1.el8_7 |
| Rocky Linux:8 | thunderbird | 0 | 0:102.7.1-1.el8_7 |
| Rocky Linux:9 | firefox | 0 | 0:102.7.0-1.el9_1 |
| Rocky Linux:9 | thunderbird | 0 | 0:102.7.1-1.el9_1 |
| SUSE:Enterprise Storage 6 | MozillaFirefox | 0 | 102.7.0-150000.150.71.1 |
| SUSE:Enterprise Storage 7 | MozillaFirefox | 0 | 102.7.0-150200.152.73.1 |
| SUSE:Enterprise Storage 7.1 | MozillaFirefox | 0 | 102.7.0-150200.152.73.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS | MozillaFirefox | 0 | 102.7.0-150000.150.71.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | MozillaFirefox | 0 | 102.7.0-150200.152.73.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS | MozillaFirefox | 0 | 102.7.0-150200.152.73.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | MozillaFirefox | 0 | 102.7.0-150200.152.73.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP4 | MozillaFirefox | 0 | 102.7.0-150200.152.73.1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP4 | MozillaThunderbird | 0 | 102.7.1-150200.8.102.1 |
| SUSE:Linux Enterprise Real Time 15 SP3 | MozillaFirefox | 0 | 102.7.0-150200.152.73.1 |
| SUSE:Linux Enterprise Server 12 SP2-BCL | MozillaFirefox | 0 | 102.7.0-112.145.1 |
| SUSE:Linux Enterprise Server 12 SP4-LTSS | MozillaFirefox | 0 | 102.7.0-112.145.1 |
| SUSE:Linux Enterprise Server 12 SP5 | MozillaFirefox | 0 | 102.7.0-112.145.1 |
| SUSE:Linux Enterprise Server 15 SP1-LTSS | MozillaFirefox | 0 | 102.7.0-150000.150.71.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | MozillaFirefox | 0 | 102.7.0-150200.152.73.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | MozillaFirefox | 0 | 102.7.0-150200.152.73.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP4 | MozillaFirefox | 0 | 102.7.0-112.145.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | MozillaFirefox | 0 | 102.7.0-112.145.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP1 | MozillaFirefox | 0 | 102.7.0-150000.150.71.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | MozillaFirefox | 0 | 102.7.0-150200.152.73.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | MozillaFirefox | 0 | 102.7.0-150200.152.73.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | MozillaFirefox | 0 | 102.7.0-112.145.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP4 | MozillaThunderbird | 0 | 102.7.1-150200.8.102.1 |
| SUSE:OpenStack Cloud 9 | MozillaFirefox | 0 | 102.7.0-112.145.1 |
| SUSE:OpenStack Cloud Crowbar 9 | MozillaFirefox | 0 | 102.7.0-112.145.1 |
| Ubuntu:18.04:LTS | firefox | 0 | 109.0+build2-0ubuntu0.18.04.1 |
| Ubuntu:18.04:LTS | mozjs38 | 0 | No fix |
| Ubuntu:18.04:LTS | mozjs52 | 0 | No fix |
| Ubuntu:18.04:LTS | thunderbird | 0 | 1:102.7.1+build2-0ubuntu0.18.04.1 |
| Ubuntu:20.04:LTS | firefox | 0 | 109.0+build2-0ubuntu0.20.04.1 |
| Ubuntu:20.04:LTS | mozjs52 | 0 | No fix |
| Ubuntu:20.04:LTS | mozjs68 | 0 | No fix |
| Ubuntu:20.04:LTS | thunderbird | 0 | 1:102.7.1+build2-0ubuntu0.20.04.1 |
| Ubuntu:22.04:LTS | mozjs78 | 0 | No fix |
| Ubuntu:22.04:LTS | mozjs91 | 0 | No fix |
| Ubuntu:22.04:LTS | thunderbird | 0 | 1:102.7.1+build2-0ubuntu0.22.04.1 |
| Ubuntu:Pro:18.04:LTS | mozjs38 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | mozjs52 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | mozjs52 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | mozjs68 | 0 | No fix |
| Ubuntu:Pro:22.04:LTS | mozjs78 | 0 | No fix |
| openSUSE:Leap 15.4 | MozillaFirefox | 0 | 102.7.0-150200.152.73.1 |
| openSUSE:Leap 15.4 | MozillaThunderbird | 0 | 102.7.1-150200.8.102.1 |
| openSUSE:Tumbleweed | MozillaFirefox | 0 | 109.0-1.1 |
| openSUSE:Tumbleweed | MozillaThunderbird | 0 | 102.7.1-1.1 |
| openSUSE:Tumbleweed | firefox-esr | 0 | 128.5.1-1.1 |
| openSUSE:Tumbleweed | mozjs102 | 0 | 102.7.0-1.1 |
Related vulnerabilities
- CVE-2025-14331 Same-origin policy bypass in the Request Handling component. Also affects firefox
- CVE-2025-14325 JIT miscompilation in the JavaScript Engine: JIT component. Also affects firefox
- CVE-2025-14330 JIT miscompilation in the JavaScript Engine: JIT component. Also affects firefox
- CVE-2025-14333 Memory safety bugs present in Firefox ESR 140.5, Thunderbird ESR 140.5, Firefox 145 and… Also affects firefox
- CVE-2025-14328 Privilege escalation in the Netmonitor component. Also affects firefox
- CVE-2025-14329 Privilege escalation in the Netmonitor component. Also affects firefox
- CVE-2025-14323 Privilege escalation in the DOM: Notifications component. Also affects firefox
- CVE-2025-14321 Use-after-free in the WebRTC: Signaling component. Also affects firefox