CVE-2022-26387
High · 7.5CVSS
7.5
EPSS
0.7%
Published
Dec 22, 2022
CISA due date
—
Cloudanix analysis
A timing flaw could let attackers swap in a fake browser add-on after the security check but before the user approves it, potentially giving them full access to browsing activity and files.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- High
- Impact
- Full Compromise
- Component
- Application
- Class
- Race Condition
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Race condition in add-on installation where signature verification occurs before user prompt, allowing the underlying XPI file to be swapped without re-verification, resulting in execution of attacker-controlled code with full browser privileges.
Why it matters to the business
Attackers can silently install malicious extensions that steal credentials, exfiltrate data, or persist on user systems, increasing breach risk and potential regulatory exposure for organizations relying on older browser deployments.
How an attack unfolds
An attacker hosts or supplies a malicious add-on package. When the victim initiates installation, Firefox checks the signature of the original file. During the brief window while the user reviews the permission prompt, the attacker replaces the file on disk or via MITM. Firefox proceeds to install the now-modified add-on without re-checking the signature, granting the attacker arbitrary code execution inside the browser.
How to fix it
Upgrade Firefox to version 98 or later, Firefox ESR to 91.7 or later, and Thunderbird to 91.7 or later. Enforce automatic updates in managed environments and audit installed extensions for unexpected permissions.
How to confirm the fix worked
Verify installed browser versions meet or exceed the fixed releases listed above. Review extension management logs and about:addons for any add-ons installed around the time of the vulnerability window. Confirm automatic update policies are active.
Typical attack path
- Attacker prepares malicious add-on and delivery mechanism (web page, update server compromise, or network position).
- Victim is tricked into starting add-on installation, triggering signature verification.
- During the user confirmation prompt, attacker modifies the on-disk add-on file.
- Browser installs the altered add-on and grants requested permissions.
- Malicious extension executes with browser privileges to perform data theft or further compromise.
How to detect it
Examine browser installation and extension logs for add-on load events immediately following signature verification calls. Look for unexpected XPI file modifications in the extensions directory or profile folders around install timestamps. Correlate with network activity to unknown update sources.
What your security team should do
- Immediately deploy browser updates to all endpoints.
- Disable add-on installation via policy where not required.
- Monitor for new extensions appearing without user initiation.
- Review EPSS and exploit availability trends for prioritization of remaining legacy instances.
The record
When installing an add-on, Firefox verified the signature before prompting the user; but while the user was confirming the prompt, the underlying add-on file could have been modified and Firefox would not have noticed. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | firefox | 0 | 91.7.0-3.el8_5.alma |
| AlmaLinux:8 | thunderbird | 0 | 91.7.0-2.el8_5.alma |
| AlmaLinux:8 | thunderbird | 0 | 91.7.0-2.el8_5.alma.plus |
| Debian:10 | firefox-esr | 0 | 91.7.0esr-1~deb10u1 |
| Debian:10 | thunderbird | 0 | 1:91.7.0-2~deb10u1 |
| Debian:11 | firefox-esr | 0 | 91.7.0esr-1~deb11u1 |
| Debian:11 | thunderbird | 0 | 1:91.7.0-2~deb11u1 |
| Debian:12 | firefox-esr | 0 | 91.7.0esr-1 |
| Debian:12 | thunderbird | 0 | 1:91.7.0-1 |
| Debian:13 | firefox-esr | 0 | 91.7.0esr-1 |
| Debian:13 | thunderbird | 0 | 1:91.7.0-1 |
| Debian:9 | firefox-esr | 0 | 91.7.0esr-1~deb9u1 |
| Debian:9 | thunderbird | 0 | 1:91.7.0-2~deb9u1 |
| Mageia:8 | firefox | 0 | 91.7.0-1.mga8 |
| Mageia:8 | firefox-l10n | 0 | 91.7.0-1.mga8 |
| Mageia:8 | thunderbird | 0 | 91.7.0-1.mga8 |
| Mageia:8 | thunderbird-l10n | 0 | 91.7.0-1.mga8 |
| Red Hat:enterprise_linux:7::client | firefox | 0 | 0:91.7.0-3.el7_9 |
| Red Hat:enterprise_linux:7::client | firefox-debuginfo | 0 | 0:91.7.0-3.el7_9 |
| Red Hat:enterprise_linux:7::client | thunderbird | 0 | 0:91.7.0-2.el7_9 |
| Red Hat:enterprise_linux:7::client | thunderbird-debuginfo | 0 | 0:91.7.0-2.el7_9 |
| Red Hat:enterprise_linux:7::server | firefox | 0 | 0:91.7.0-3.el7_9 |
| Red Hat:enterprise_linux:7::server | firefox-debuginfo | 0 | 0:91.7.0-3.el7_9 |
| Red Hat:enterprise_linux:7::server | thunderbird | 0 | 0:91.7.0-2.el7_9 |
| Red Hat:enterprise_linux:7::server | thunderbird-debuginfo | 0 | 0:91.7.0-2.el7_9 |
| Red Hat:enterprise_linux:7::workstation | firefox | 0 | 0:91.7.0-3.el7_9 |
| Red Hat:enterprise_linux:7::workstation | firefox-debuginfo | 0 | 0:91.7.0-3.el7_9 |
| Red Hat:enterprise_linux:7::workstation | thunderbird | 0 | 0:91.7.0-2.el7_9 |
| Red Hat:enterprise_linux:7::workstation | thunderbird-debuginfo | 0 | 0:91.7.0-2.el7_9 |
| Red Hat:enterprise_linux:8::appstream | firefox | 0 | 0:91.7.0-3.el8_5 |
| Red Hat:enterprise_linux:8::appstream | firefox-debuginfo | 0 | 0:91.7.0-3.el8_5 |
| Red Hat:enterprise_linux:8::appstream | firefox-debugsource | 0 | 0:91.7.0-3.el8_5 |
| Red Hat:enterprise_linux:8::appstream | thunderbird | 0 | 0:91.7.0-2.el8_5 |
| Red Hat:enterprise_linux:8::appstream | thunderbird-debuginfo | 0 | 0:91.7.0-2.el8_5 |
| Red Hat:enterprise_linux:8::appstream | thunderbird-debugsource | 0 | 0:91.7.0-2.el8_5 |
| Red Hat:rhel_e4s:8.1::appstream | firefox | 0 | 0:91.7.0-3.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | firefox-debuginfo | 0 | 0:91.7.0-3.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | firefox-debugsource | 0 | 0:91.7.0-3.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | thunderbird | 0 | 0:91.7.0-2.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | thunderbird-debuginfo | 0 | 0:91.7.0-2.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | thunderbird-debugsource | 0 | 0:91.7.0-2.el8_1 |
| Red Hat:rhel_eus:8.2::appstream | firefox | 0 | 0:91.7.0-3.el8_2 |
| Red Hat:rhel_eus:8.2::appstream | firefox-debuginfo | 0 | 0:91.7.0-3.el8_2 |
| Red Hat:rhel_eus:8.2::appstream | firefox-debugsource | 0 | 0:91.7.0-3.el8_2 |
| Red Hat:rhel_eus:8.2::appstream | thunderbird | 0 | 0:91.7.0-2.el8_2 |
| Red Hat:rhel_eus:8.2::appstream | thunderbird-debuginfo | 0 | 0:91.7.0-2.el8_2 |
| Red Hat:rhel_eus:8.2::appstream | thunderbird-debugsource | 0 | 0:91.7.0-2.el8_2 |
| Red Hat:rhel_eus:8.4::appstream | firefox | 0 | 0:91.7.0-3.el8_4 |
| Red Hat:rhel_eus:8.4::appstream | firefox-debuginfo | 0 | 0:91.7.0-3.el8_4 |
| Red Hat:rhel_eus:8.4::appstream | firefox-debugsource | 0 | 0:91.7.0-3.el8_4 |
| Red Hat:rhel_eus:8.4::appstream | thunderbird | 0 | 0:91.7.0-2.el8_4 |
| Red Hat:rhel_eus:8.4::appstream | thunderbird-debuginfo | 0 | 0:91.7.0-2.el8_4 |
| Red Hat:rhel_eus:8.4::appstream | thunderbird-debugsource | 0 | 0:91.7.0-2.el8_4 |
| Rocky Linux:8 | firefox | 0 | 0:91.7.0-3.el8_5 |
| Rocky Linux:8 | thunderbird | 0 | 0:91.7.0-2.el8_5 |
| SUSE:Enterprise Storage 6 | MozillaFirefox | 0 | 91.7.0-150.24.1 |
| SUSE:Enterprise Storage 7 | MozillaFirefox | 0 | 91.7.0-152.22.1 |
| SUSE:HPE Helion OpenStack 8 | MozillaFirefox | 0 | 91.7.0-112.95.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-ESPOS | MozillaFirefox | 0 | 91.7.0-150.24.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS | MozillaFirefox | 0 | 91.7.0-150.24.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-ESPOS | MozillaFirefox | 0 | 91.7.0-152.22.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | MozillaFirefox | 0 | 91.7.0-152.22.1 |
| SUSE:Linux Enterprise High Performance Computing 15-ESPOS | MozillaFirefox | 0 | 91.7.0-150.24.1 |
| SUSE:Linux Enterprise High Performance Computing 15-LTSS | MozillaFirefox | 0 | 91.7.0-150.24.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP3 | MozillaFirefox | 0 | 91.7.0-152.22.1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP3 | MozillaThunderbird | 0 | 91.7.0-150200.8.62.7 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP4 | MozillaThunderbird | 0 | 91.7.0-150200.8.62.7 |
| SUSE:Linux Enterprise Real Time 15 SP2 | MozillaFirefox | 0 | 91.7.0-152.22.1 |
| SUSE:Linux Enterprise Server 11 SP4-LTSS | MozillaFirefox | 0 | 91.7.0-78.167.1 |
| SUSE:Linux Enterprise Server 12 SP2-BCL | MozillaFirefox | 0 | 91.7.0-112.95.1 |
| SUSE:Linux Enterprise Server 12 SP3-BCL | MozillaFirefox | 0 | 91.7.0-112.95.1 |
| SUSE:Linux Enterprise Server 12 SP3-LTSS | MozillaFirefox | 0 | 91.7.0-112.95.1 |
| SUSE:Linux Enterprise Server 12 SP4-LTSS | MozillaFirefox | 0 | 91.7.0-112.95.1 |
| SUSE:Linux Enterprise Server 12 SP5 | MozillaFirefox | 0 | 91.7.0-112.95.1 |
| SUSE:Linux Enterprise Server 15 SP1-BCL | MozillaFirefox | 0 | 91.7.0-150.24.1 |
| SUSE:Linux Enterprise Server 15 SP1-LTSS | MozillaFirefox | 0 | 91.7.0-150.24.1 |
| SUSE:Linux Enterprise Server 15 SP2-BCL | MozillaFirefox | 0 | 91.7.0-152.22.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | MozillaFirefox | 0 | 91.7.0-152.22.1 |
| SUSE:Linux Enterprise Server 15-LTSS | MozillaFirefox | 0 | 91.7.0-150.24.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | MozillaFirefox | 0 | 91.7.0-112.95.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP4 | MozillaFirefox | 0 | 91.7.0-112.95.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | MozillaFirefox | 0 | 91.7.0-112.95.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 | MozillaFirefox | 0 | 91.7.0-150.24.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP1 | MozillaFirefox | 0 | 91.7.0-150.24.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | MozillaFirefox | 0 | 91.7.0-152.22.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | MozillaFirefox | 0 | 91.7.0-112.95.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP3 | MozillaThunderbird | 0 | 91.7.0-150200.8.62.7 |
| SUSE:Manager Proxy 4.1 | MozillaFirefox | 0 | 91.7.0-152.22.1 |
| SUSE:Manager Retail Branch Server 4.1 | MozillaFirefox | 0 | 91.7.0-152.22.1 |
| SUSE:Manager Server 4.1 | MozillaFirefox | 0 | 91.7.0-152.22.1 |
| SUSE:OpenStack Cloud 8 | MozillaFirefox | 0 | 91.7.0-112.95.1 |
| SUSE:OpenStack Cloud 9 | MozillaFirefox | 0 | 91.7.0-112.95.1 |
| SUSE:OpenStack Cloud Crowbar 8 | MozillaFirefox | 0 | 91.7.0-112.95.1 |
| SUSE:OpenStack Cloud Crowbar 9 | MozillaFirefox | 0 | 91.7.0-112.95.1 |
| Ubuntu:18.04:LTS | firefox | 0 | 98.0+build3-0ubuntu0.18.04.2 |
| Ubuntu:18.04:LTS | firefox | 0 | 98.0.1+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:91.7.0+build2-0ubuntu0.18.04.1 |
| Ubuntu:20.04:LTS | firefox | 0 | 98.0+build3-0ubuntu0.20.04.2 |
| Ubuntu:20.04:LTS | firefox | 0 | 98.0.1+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:91.7.0+build2-0ubuntu0.20.04.1 |
| Ubuntu:22.04:LTS | firefox | 0 | 1:1snap1-0ubuntu1 |
| Ubuntu:22.04:LTS | mozjs78 | 0 | No fix |
| Ubuntu:22.04:LTS | thunderbird | 0 | 1:91.7.0+build2-0ubuntu1 |
| 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.3 | MozillaFirefox | 0 | 91.7.0-152.22.1 |
| openSUSE:Leap 15.3 | MozillaThunderbird | 0 | 91.7.0-150200.8.62.7 |
| openSUSE:Tumbleweed | MozillaFirefox | 0 | 98.0-1.1 |
| openSUSE:Tumbleweed | MozillaThunderbird | 0 | 91.7.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