CVE-2023-25729
High · 8.8CVSS
8.8
EPSS
0.7%
Published
Jun 2, 2023
CISA due date
—
Cloudanix analysis
A browser flaw let certain add-ons open programs or download files without asking the user, which could allow attackers to run harmful software on the computer.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Full Compromise
- Component
- Application
- Class
- Authorization Bypass
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Extensions bypass permission prompts for external protocol schemes by invoking them via ExpandedPrincipals rather than ContentPrincipals, allowing silent launch of registered handlers.
Why it matters to the business
Attackers can trigger file downloads or launch installed applications without user consent, increasing risk of malware delivery or unauthorized system interaction across browser fleets.
How an attack unfolds
An attacker supplies a malicious extension that registers interest in external schemes and uses ExpandedPrincipals to open them directly, bypassing the missing prompt and leading to downloads or interaction with local software.
How to fix it
Upgrade Firefox to 110 or later, Thunderbird to 102.8 or later, and Firefox ESR to 102.8 or later; remove or disable untrusted extensions until updates are applied.
How to confirm the fix worked
Verify installed versions meet or exceed the fixed releases; test that external-scheme permission prompts now appear for ExpandedPrincipals in a controlled extension.
Typical attack path
- User installs a malicious or compromised extension
- Extension code constructs an ExpandedPrincipal to reference an external scheme
- Scheme handler is invoked without triggering the permission prompt
- Attacker downloads files or launches installed applications to achieve further actions
How to detect it
Review extension activity logs and browser console output for external scheme invocations that lack corresponding user-prompt audit events; search for extensions referencing ExpandedPrincipals in their code.
What your security team should do
- Apply the listed updates immediately across all endpoints
- Audit installed extensions and revoke those with broad protocol or download capabilities
- Enable enterprise update policies to enforce automatic browser updates going forward
The record
Permission prompts for opening external schemes were only shown for <code>ContentPrincipals</code> resulting in extensions being able to open them without user interaction via <code>ExpandedPrincipals</code>. This could lead to further malicious actions such as downloading files or interacting with software already installed on the system. This vulnerability affects Firefox < 110, Thunderbird < 102.8, and Firefox ESR < 102.8.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | firefox | 0 | 102.8.0-2.el8_7.alma |
| AlmaLinux:8 | thunderbird | 0 | 102.8.0-2.el8_7.alma |
| AlmaLinux:9 | firefox | 0 | 102.8.0-2.el9_1.alma |
| AlmaLinux:9 | firefox-x11 | 0 | 102.8.0-2.el9_1.alma |
| AlmaLinux:9 | thunderbird | 0 | 102.8.0-2.el9_1.alma |
| Debian:10 | firefox-esr | 0 | 102.8.0esr-1~deb10u1 |
| Debian:10 | thunderbird | 0 | 1:102.8.0-1~deb10u1 |
| Debian:11 | firefox-esr | 0 | 102.8.0esr-1~deb11u1 |
| Debian:11 | thunderbird | 0 | 1:102.8.0-1~deb11u1 |
| Debian:12 | firefox-esr | 0 | 102.8.0esr-1 |
| Debian:12 | thunderbird | 0 | 1:102.8.0-1 |
| Debian:13 | firefox-esr | 0 | 102.8.0esr-1 |
| Debian:13 | thunderbird | 0 | 1:102.8.0-1 |
| Mageia:8 | firefox | 0 | 102.8.0-1.mga8 |
| Mageia:8 | firefox-l10n | 0 | 102.8.0-1.mga8 |
| Mageia:8 | nss | 0 | 3.88.1-1.mga8 |
| Mageia:8 | thunderbird | 0 | 102.8.0-1.mga8 |
| Mageia:8 | thunderbird-l10n | 0 | 102.8.0-1.mga8 |
| Red Hat:enterprise_linux:7::client | firefox | 0 | 0:102.8.0-2.el7_9 |
| Red Hat:enterprise_linux:7::client | firefox-debuginfo | 0 | 0:102.8.0-2.el7_9 |
| Red Hat:enterprise_linux:7::client | thunderbird | 0 | 0:102.8.0-2.el7_9 |
| Red Hat:enterprise_linux:7::client | thunderbird-debuginfo | 0 | 0:102.8.0-2.el7_9 |
| Red Hat:enterprise_linux:7::server | firefox | 0 | 0:102.8.0-2.el7_9 |
| Red Hat:enterprise_linux:7::server | firefox-debuginfo | 0 | 0:102.8.0-2.el7_9 |
| Red Hat:enterprise_linux:7::server | thunderbird | 0 | 0:102.8.0-2.el7_9 |
| Red Hat:enterprise_linux:7::server | thunderbird-debuginfo | 0 | 0:102.8.0-2.el7_9 |
| Red Hat:enterprise_linux:7::workstation | firefox | 0 | 0:102.8.0-2.el7_9 |
| Red Hat:enterprise_linux:7::workstation | firefox-debuginfo | 0 | 0:102.8.0-2.el7_9 |
| Red Hat:enterprise_linux:7::workstation | thunderbird | 0 | 0:102.8.0-2.el7_9 |
| Red Hat:enterprise_linux:7::workstation | thunderbird-debuginfo | 0 | 0:102.8.0-2.el7_9 |
| Red Hat:enterprise_linux:8::appstream | firefox | 0 | 0:102.8.0-2.el8_7 |
| Red Hat:enterprise_linux:8::appstream | firefox-debuginfo | 0 | 0:102.8.0-2.el8_7 |
| Red Hat:enterprise_linux:8::appstream | firefox-debugsource | 0 | 0:102.8.0-2.el8_7 |
| Red Hat:enterprise_linux:8::appstream | thunderbird | 0 | 0:102.8.0-2.el8_7 |
| Red Hat:enterprise_linux:8::appstream | thunderbird-debuginfo | 0 | 0:102.8.0-2.el8_7 |
| Red Hat:enterprise_linux:8::appstream | thunderbird-debugsource | 0 | 0:102.8.0-2.el8_7 |
| Red Hat:enterprise_linux:9::appstream | firefox | 0 | 0:102.8.0-2.el9_1 |
| Red Hat:enterprise_linux:9::appstream | firefox-debuginfo | 0 | 0:102.8.0-2.el9_1 |
| Red Hat:enterprise_linux:9::appstream | firefox-debugsource | 0 | 0:102.8.0-2.el9_1 |
| Red Hat:enterprise_linux:9::appstream | firefox-x11 | 0 | 0:102.8.0-2.el9_1 |
| Red Hat:enterprise_linux:9::appstream | thunderbird | 0 | 0:102.8.0-2.el9_1 |
| Red Hat:enterprise_linux:9::appstream | thunderbird-debuginfo | 0 | 0:102.8.0-2.el9_1 |
| Red Hat:enterprise_linux:9::appstream | thunderbird-debugsource | 0 | 0:102.8.0-2.el9_1 |
| Red Hat:rhel_aus:8.2::appstream | firefox | 0 | 0:102.8.0-2.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | firefox-debuginfo | 0 | 0:102.8.0-2.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | firefox-debugsource | 0 | 0:102.8.0-2.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | thunderbird | 0 | 0:102.8.0-2.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | thunderbird-debuginfo | 0 | 0:102.8.0-2.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | thunderbird-debugsource | 0 | 0:102.8.0-2.el8_2 |
| Red Hat:rhel_e4s:8.1::appstream | firefox | 0 | 0:102.8.0-2.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | firefox-debuginfo | 0 | 0:102.8.0-2.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | firefox-debugsource | 0 | 0:102.8.0-2.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | thunderbird | 0 | 0:102.8.0-2.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | thunderbird-debuginfo | 0 | 0:102.8.0-2.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | thunderbird-debugsource | 0 | 0:102.8.0-2.el8_1 |
| Red Hat:rhel_e4s:8.2::appstream | firefox | 0 | 0:102.8.0-2.el8_2 |
| Red Hat:rhel_e4s:8.2::appstream | firefox-debuginfo | 0 | 0:102.8.0-2.el8_2 |
| Red Hat:rhel_e4s:8.2::appstream | firefox-debugsource | 0 | 0:102.8.0-2.el8_2 |
| Red Hat:rhel_e4s:8.2::appstream | thunderbird | 0 | 0:102.8.0-2.el8_2 |
| Red Hat:rhel_e4s:8.2::appstream | thunderbird-debuginfo | 0 | 0:102.8.0-2.el8_2 |
| Red Hat:rhel_e4s:8.2::appstream | thunderbird-debugsource | 0 | 0:102.8.0-2.el8_2 |
| Red Hat:rhel_eus:8.4::appstream | firefox | 0 | 0:102.8.0-2.el8_4 |
| Red Hat:rhel_eus:8.4::appstream | firefox-debuginfo | 0 | 0:102.8.0-2.el8_4 |
| Red Hat:rhel_eus:8.4::appstream | firefox-debugsource | 0 | 0:102.8.0-2.el8_4 |
| Red Hat:rhel_eus:8.4::appstream | thunderbird | 0 | 0:102.8.0-2.el8_4 |
| Red Hat:rhel_eus:8.4::appstream | thunderbird-debuginfo | 0 | 0:102.8.0-2.el8_4 |
| Red Hat:rhel_eus:8.4::appstream | thunderbird-debugsource | 0 | 0:102.8.0-2.el8_4 |
| Red Hat:rhel_eus:8.6::appstream | firefox | 0 | 0:102.8.0-2.el8_6 |
| Red Hat:rhel_eus:8.6::appstream | firefox-debuginfo | 0 | 0:102.8.0-2.el8_6 |
| Red Hat:rhel_eus:8.6::appstream | firefox-debugsource | 0 | 0:102.8.0-2.el8_6 |
| Red Hat:rhel_eus:8.6::appstream | thunderbird | 0 | 0:102.8.0-2.el8_6 |
| Red Hat:rhel_eus:8.6::appstream | thunderbird-debuginfo | 0 | 0:102.8.0-2.el8_6 |
| Red Hat:rhel_eus:8.6::appstream | thunderbird-debugsource | 0 | 0:102.8.0-2.el8_6 |
| Red Hat:rhel_eus:9.0::appstream | firefox | 0 | 0:102.8.0-2.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | firefox-debuginfo | 0 | 0:102.8.0-2.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | firefox-debugsource | 0 | 0:102.8.0-2.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | thunderbird | 0 | 0:102.8.0-2.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | thunderbird-debuginfo | 0 | 0:102.8.0-2.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | thunderbird-debugsource | 0 | 0:102.8.0-2.el9_0 |
| Red Hat:rhel_tus:8.2::appstream | firefox | 0 | 0:102.8.0-2.el8_2 |
| Red Hat:rhel_tus:8.2::appstream | firefox-debuginfo | 0 | 0:102.8.0-2.el8_2 |
| Red Hat:rhel_tus:8.2::appstream | firefox-debugsource | 0 | 0:102.8.0-2.el8_2 |
| Red Hat:rhel_tus:8.2::appstream | thunderbird | 0 | 0:102.8.0-2.el8_2 |
| Red Hat:rhel_tus:8.2::appstream | thunderbird-debuginfo | 0 | 0:102.8.0-2.el8_2 |
| Red Hat:rhel_tus:8.2::appstream | thunderbird-debugsource | 0 | 0:102.8.0-2.el8_2 |
| Rocky Linux:8 | firefox | 0 | 0:102.8.0-2.el8_7 |
| Rocky Linux:8 | thunderbird | 0 | 0:102.8.0-2.el8_7 |
| Rocky Linux:9 | firefox | 0 | 0:102.8.0-2.el9_1 |
| Rocky Linux:9 | thunderbird | 0 | 0:102.8.0-2.el9_1 |
| SUSE:Enterprise Storage 7 | MozillaFirefox | 0 | 102.8.0-150200.152.78.1 |
| SUSE:Enterprise Storage 7.1 | MozillaFirefox | 0 | 102.8.0-150200.152.78.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS | MozillaFirefox | 0 | 102.8.0-150000.150.76.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | MozillaFirefox | 0 | 102.8.0-150200.152.78.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS | MozillaFirefox | 0 | 102.8.0-150200.152.78.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | MozillaFirefox | 0 | 102.8.0-150200.152.78.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP4 | MozillaFirefox | 0 | 102.8.0-150200.152.78.1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP4 | MozillaThunderbird | 0 | 102.8.0-150200.8.105.2 |
| SUSE:Linux Enterprise Real Time 15 SP3 | MozillaFirefox | 0 | 102.8.0-150200.152.78.1 |
| SUSE:Linux Enterprise Server 12 SP2-BCL | MozillaFirefox | 0 | 102.8.0-112.150.1 |
| SUSE:Linux Enterprise Server 12 SP4-ESPOS | MozillaFirefox | 0 | 102.8.0-112.150.1 |
| SUSE:Linux Enterprise Server 12 SP4-LTSS | MozillaFirefox | 0 | 102.8.0-112.150.1 |
| SUSE:Linux Enterprise Server 12 SP5 | MozillaFirefox | 0 | 102.8.0-112.150.1 |
| SUSE:Linux Enterprise Server 15 SP1-LTSS | MozillaFirefox | 0 | 102.8.0-150000.150.76.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | MozillaFirefox | 0 | 102.8.0-150200.152.78.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | MozillaFirefox | 0 | 102.8.0-150200.152.78.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP4 | MozillaFirefox | 0 | 102.8.0-112.150.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | MozillaFirefox | 0 | 102.8.0-112.150.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP1 | MozillaFirefox | 0 | 102.8.0-150000.150.76.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | MozillaFirefox | 0 | 102.8.0-150200.152.78.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | MozillaFirefox | 0 | 102.8.0-150200.152.78.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | MozillaFirefox | 0 | 102.8.0-112.150.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP4 | MozillaThunderbird | 0 | 102.8.0-150200.8.105.2 |
| SUSE:OpenStack Cloud 9 | MozillaFirefox | 0 | 102.8.0-112.150.1 |
| SUSE:OpenStack Cloud Crowbar 9 | MozillaFirefox | 0 | 102.8.0-112.150.1 |
| Ubuntu:18.04:LTS | firefox | 0 | 110.0+build3-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.8.0+build2-0ubuntu0.18.04.1 |
| Ubuntu:20.04:LTS | firefox | 0 | 110.0+build3-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.8.0+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.8.0+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.8.0-150200.152.78.1 |
| openSUSE:Leap 15.4 | MozillaThunderbird | 0 | 102.8.0-150200.8.105.2 |
| openSUSE:Tumbleweed | MozillaFirefox | 0 | 110.0.1-1.1 |
| openSUSE:Tumbleweed | MozillaThunderbird | 0 | 102.8.0-1.1 |
| openSUSE:Tumbleweed | firefox-esr | 0 | 128.5.1-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