CVE-2023-25739
High · 8.8CVSS
8.8
EPSS
0.7%
Published
Jun 2, 2023
CISA due date
—
Cloudanix analysis
A flaw in older Firefox and Thunderbird versions could let attackers take over a user's browser or email program after they visit a harmful website or open a malicious message.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Moderate
- Impact
- Full Compromise
- Component
- Application
- Class
- Use After Free
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Failed module load requests that are cancelled are not validated before reuse, resulting in a use-after-free condition within ScriptLoadContext that can be leveraged for memory corruption.
Why it matters to the business
Attackers could gain control of a user's browser or email client on unpatched systems, enabling data theft, credential capture, or further network compromise; the issue is years old with no known exploitation campaigns, reducing immediate operational urgency.
How an attack unfolds
An attacker serves a specially crafted web page or email that triggers a module load failure followed by cancellation; the dangling reference in ScriptLoadContext is then accessed, corrupting memory to achieve code execution in the browser process.
How to fix it
Upgrade Mozilla Firefox to version 110 or later, Firefox ESR to 102.8 or later, and Thunderbird to 102.8 or later. Apply updates through the application's built-in updater or package manager as soon as possible.
How to confirm the fix worked
Verify installed versions meet or exceed Firefox 110, ESR 102.8, and Thunderbird 102.8; confirm absence of ScriptLoadContext use-after-free crashes in diagnostic logs after update.
Typical attack path
- Deliver malicious content via web page or email attachment
- Trigger failed and cancelled module load in ScriptLoadContext
- Reuse freed object to corrupt memory
- Execute arbitrary code within the browser or Thunderbird process
How to detect it
Review browser and Thunderbird crash reports for ScriptLoadContext references; examine web server logs for unusual module load patterns from external sources; no confirmed in-the-wild exploitation artifacts are known.
What your security team should do
- Prioritize patching all Firefox, ESR, and Thunderbird instances to the fixed releases
- Monitor for any future EPSS increases or KEV listings despite current low exploit maturity
- Disable unnecessary JavaScript module loading where feasible until patches are deployed
The record
Module load requests that failed were not being checked as to whether or not they were cancelled causing a use-after-free in <code>ScriptLoadContext</code>. 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 | mozjs102 | 0 | 102.11.0-0ubuntu0.22.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