CVE-2023-25751
Medium · 6.5CVSS
6.5
EPSS
0.7%
Published
Jun 2, 2023
CISA due date
—
Cloudanix analysis
A flaw in how a browser handles certain code optimization steps could make it crash or behave unexpectedly when a user visits a specially crafted website.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Moderate
- Impact
- Denial Of Service
- Component
- Application
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Invalid JIT code invalidation during iterator following allows newly generated code to be overwritten incorrectly, resulting in memory corruption that can trigger a crash.
Why it matters to the business
Affected browser users face potential denial of service from crashes; limited risk of remote code execution on unpatched systems that have not been updated in over three years.
How an attack unfolds
An attacker hosts a malicious page that forces JIT compilation paths involving iterators, triggers invalidation at the right moment, and causes the engine to write over freshly emitted code, leading to a crash that may be turned into code execution.
How to fix it
Upgrade Firefox to version 111 or later, Firefox ESR to 102.9 or later, and Thunderbird to 102.9 or later. For affected Git packages apply the commits listed in the fixed_versions (6c6da2672849c1f0ca41efec67bea8391615cd69 and 9aba21e291dbfc44b1b715a1f24259ae937725db).
How to confirm the fix worked
Confirm the installed browser or package reports a version at or above the fixed releases and that the JIT-related crash signature no longer reproduces under targeted test cases.
Typical attack path
- Deliver malicious content via a web page or email attachment
- Force the browser's JIT compiler to generate code while an iterator is active
- Induce invalidation so the replacement code region is incorrectly overwritten
- Trigger the resulting memory corruption to produce a crash or attempt further exploitation
How to detect it
Search browser crash logs and telemetry for JIT invalidation faults; correlate with web request logs to pages that trigger iterator-heavy JavaScript workloads.
What your security team should do
- Prioritize patching all browser instances to the fixed versions within normal change windows
- Block or sandbox untrusted web content until patches are deployed
- Review crash telemetry for JIT-related faults as an early indicator of exposure
The record
Sometimes, when invalidating JIT code while following an iterator, the newly generated code could be overwritten incorrectly. This could lead to a potentially exploitable crash. This vulnerability affects Firefox < 111, Firefox ESR < 102.9, and Thunderbird < 102.9.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | firefox | 0 | 102.9.0-3.el8_7.alma |
| AlmaLinux:8 | thunderbird | 0 | 102.9.0-1.el8_7.alma |
| AlmaLinux:9 | firefox | 0 | 102.9.0-3.el9_1.alma |
| AlmaLinux:9 | firefox-x11 | 0 | 102.9.0-3.el9_1.alma |
| AlmaLinux:9 | thunderbird | 0 | 102.9.0-1.el9_1.alma |
| Debian:10 | firefox-esr | 0 | 102.9.0esr-1~deb10u1 |
| Debian:10 | thunderbird | 0 | 1:102.9.0-1~deb10u1 |
| Debian:11 | firefox-esr | 0 | 102.9.0esr-1~deb11u1 |
| Debian:11 | thunderbird | 0 | 1:102.9.0-1~deb11u1 |
| Debian:12 | firefox-esr | 0 | 102.9.0esr-1 |
| Debian:12 | thunderbird | 0 | 1:102.9.0-1 |
| Debian:13 | firefox-esr | 0 | 102.9.0esr-1 |
| Debian:13 | thunderbird | 0 | 1:102.9.0-1 |
| Mageia:8 | firefox | 0 | 102.9.0-1.mga8 |
| Mageia:8 | firefox-l10n | 0 | 102.9.0-1.mga8 |
| Mageia:8 | nss | 0 | 3.89.0-1.mga8 |
| Mageia:8 | thunderbird | 0 | 102.9.0-1.mga8 |
| Mageia:8 | thunderbird-l10n | 0 | 102.9.0-1.mga8 |
| Red Hat:enterprise_linux:7::client | firefox | 0 | 0:102.9.0-3.el7_9 |
| Red Hat:enterprise_linux:7::client | firefox-debuginfo | 0 | 0:102.9.0-3.el7_9 |
| Red Hat:enterprise_linux:7::client | thunderbird | 0 | 0:102.9.0-1.el7_9 |
| Red Hat:enterprise_linux:7::client | thunderbird-debuginfo | 0 | 0:102.9.0-1.el7_9 |
| Red Hat:enterprise_linux:7::server | firefox | 0 | 0:102.9.0-3.el7_9 |
| Red Hat:enterprise_linux:7::server | firefox-debuginfo | 0 | 0:102.9.0-3.el7_9 |
| Red Hat:enterprise_linux:7::server | thunderbird | 0 | 0:102.9.0-1.el7_9 |
| Red Hat:enterprise_linux:7::server | thunderbird-debuginfo | 0 | 0:102.9.0-1.el7_9 |
| Red Hat:enterprise_linux:7::workstation | firefox | 0 | 0:102.9.0-3.el7_9 |
| Red Hat:enterprise_linux:7::workstation | firefox-debuginfo | 0 | 0:102.9.0-3.el7_9 |
| Red Hat:enterprise_linux:7::workstation | thunderbird | 0 | 0:102.9.0-1.el7_9 |
| Red Hat:enterprise_linux:7::workstation | thunderbird-debuginfo | 0 | 0:102.9.0-1.el7_9 |
| Red Hat:enterprise_linux:8::appstream | firefox | 0 | 0:102.9.0-3.el8_7 |
| Red Hat:enterprise_linux:8::appstream | firefox-debuginfo | 0 | 0:102.9.0-3.el8_7 |
| Red Hat:enterprise_linux:8::appstream | firefox-debugsource | 0 | 0:102.9.0-3.el8_7 |
| Red Hat:enterprise_linux:8::appstream | thunderbird | 0 | 0:102.9.0-1.el8_7 |
| Red Hat:enterprise_linux:8::appstream | thunderbird-debuginfo | 0 | 0:102.9.0-1.el8_7 |
| Red Hat:enterprise_linux:8::appstream | thunderbird-debugsource | 0 | 0:102.9.0-1.el8_7 |
| Red Hat:enterprise_linux:9::appstream | firefox | 0 | 0:102.9.0-3.el9_1 |
| Red Hat:enterprise_linux:9::appstream | firefox-debuginfo | 0 | 0:102.9.0-3.el9_1 |
| Red Hat:enterprise_linux:9::appstream | firefox-debugsource | 0 | 0:102.9.0-3.el9_1 |
| Red Hat:enterprise_linux:9::appstream | firefox-x11 | 0 | 0:102.9.0-3.el9_1 |
| Red Hat:enterprise_linux:9::appstream | thunderbird | 0 | 0:102.9.0-1.el9_1 |
| Red Hat:enterprise_linux:9::appstream | thunderbird-debuginfo | 0 | 0:102.9.0-1.el9_1 |
| Red Hat:enterprise_linux:9::appstream | thunderbird-debugsource | 0 | 0:102.9.0-1.el9_1 |
| Red Hat:rhel_aus:8.2::appstream | firefox | 0 | 0:102.9.0-4.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | firefox-debuginfo | 0 | 0:102.9.0-4.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | firefox-debugsource | 0 | 0:102.9.0-4.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | thunderbird | 0 | 0:102.9.0-2.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | thunderbird-debuginfo | 0 | 0:102.9.0-2.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | thunderbird-debugsource | 0 | 0:102.9.0-2.el8_2 |
| Red Hat:rhel_e4s:8.1::appstream | firefox | 0 | 0:102.9.0-4.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | firefox-debuginfo | 0 | 0:102.9.0-4.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | firefox-debugsource | 0 | 0:102.9.0-4.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | thunderbird | 0 | 0:102.9.0-2.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | thunderbird-debuginfo | 0 | 0:102.9.0-2.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | thunderbird-debugsource | 0 | 0:102.9.0-2.el8_1 |
| Red Hat:rhel_e4s:8.2::appstream | firefox | 0 | 0:102.9.0-4.el8_2 |
| Red Hat:rhel_e4s:8.2::appstream | firefox-debuginfo | 0 | 0:102.9.0-4.el8_2 |
| Red Hat:rhel_e4s:8.2::appstream | firefox-debugsource | 0 | 0:102.9.0-4.el8_2 |
| Red Hat:rhel_e4s:8.2::appstream | thunderbird | 0 | 0:102.9.0-2.el8_2 |
| Red Hat:rhel_e4s:8.2::appstream | thunderbird-debuginfo | 0 | 0:102.9.0-2.el8_2 |
| Red Hat:rhel_e4s:8.2::appstream | thunderbird-debugsource | 0 | 0:102.9.0-2.el8_2 |
| Red Hat:rhel_eus:8.4::appstream | firefox | 0 | 0:102.9.0-4.el8_4 |
| Red Hat:rhel_eus:8.4::appstream | firefox-debuginfo | 0 | 0:102.9.0-4.el8_4 |
| Red Hat:rhel_eus:8.4::appstream | firefox-debugsource | 0 | 0:102.9.0-4.el8_4 |
| Red Hat:rhel_eus:8.4::appstream | thunderbird | 0 | 0:102.9.0-2.el8_4 |
| Red Hat:rhel_eus:8.4::appstream | thunderbird-debuginfo | 0 | 0:102.9.0-2.el8_4 |
| Red Hat:rhel_eus:8.4::appstream | thunderbird-debugsource | 0 | 0:102.9.0-2.el8_4 |
| Red Hat:rhel_eus:8.6::appstream | firefox | 0 | 0:102.9.0-3.el8_6 |
| Red Hat:rhel_eus:8.6::appstream | firefox-debuginfo | 0 | 0:102.9.0-3.el8_6 |
| Red Hat:rhel_eus:8.6::appstream | firefox-debugsource | 0 | 0:102.9.0-3.el8_6 |
| Red Hat:rhel_eus:8.6::appstream | thunderbird | 0 | 0:102.9.0-1.el8_6 |
| Red Hat:rhel_eus:8.6::appstream | thunderbird-debuginfo | 0 | 0:102.9.0-1.el8_6 |
| Red Hat:rhel_eus:8.6::appstream | thunderbird-debugsource | 0 | 0:102.9.0-1.el8_6 |
| Red Hat:rhel_eus:9.0::appstream | firefox | 0 | 0:102.9.0-3.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | firefox-debuginfo | 0 | 0:102.9.0-3.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | firefox-debugsource | 0 | 0:102.9.0-3.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | thunderbird | 0 | 0:102.9.0-1.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | thunderbird-debuginfo | 0 | 0:102.9.0-1.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | thunderbird-debugsource | 0 | 0:102.9.0-1.el9_0 |
| Red Hat:rhel_tus:8.2::appstream | firefox | 0 | 0:102.9.0-4.el8_2 |
| Red Hat:rhel_tus:8.2::appstream | firefox-debuginfo | 0 | 0:102.9.0-4.el8_2 |
| Red Hat:rhel_tus:8.2::appstream | firefox-debugsource | 0 | 0:102.9.0-4.el8_2 |
| Red Hat:rhel_tus:8.2::appstream | thunderbird | 0 | 0:102.9.0-2.el8_2 |
| Red Hat:rhel_tus:8.2::appstream | thunderbird-debuginfo | 0 | 0:102.9.0-2.el8_2 |
| Red Hat:rhel_tus:8.2::appstream | thunderbird-debugsource | 0 | 0:102.9.0-2.el8_2 |
| Rocky Linux:8 | firefox | 0 | 0:102.9.0-3.el8_7 |
| Rocky Linux:8 | thunderbird | 0 | 0:102.9.0-1.el8_7 |
| Rocky Linux:9 | firefox | 0 | 0:102.9.0-3.el9_1 |
| Rocky Linux:9 | thunderbird | 0 | 0:102.9.0-1.el9_1 |
| SUSE:Enterprise Storage 7 | MozillaFirefox | 0 | 102.9.0-150200.152.81.1 |
| SUSE:Enterprise Storage 7.1 | MozillaFirefox | 0 | 102.9.0-150200.152.81.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS | MozillaFirefox | 0 | 102.9.0-150000.150.79.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | MozillaFirefox | 0 | 102.9.0-150200.152.81.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS | MozillaFirefox | 0 | 102.9.0-150200.152.81.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | MozillaFirefox | 0 | 102.9.0-150200.152.81.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP4 | MozillaFirefox | 0 | 102.9.0-150200.152.81.1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP4 | MozillaThunderbird | 0 | 102.9.1-150200.8.110.2 |
| SUSE:Linux Enterprise Real Time 15 SP3 | MozillaFirefox | 0 | 102.9.0-150200.152.81.1 |
| SUSE:Linux Enterprise Server 12 SP2-BCL | MozillaFirefox | 0 | 102.9.0-112.153.1 |
| SUSE:Linux Enterprise Server 12 SP4-ESPOS | MozillaFirefox | 0 | 102.9.0-112.153.1 |
| SUSE:Linux Enterprise Server 12 SP4-LTSS | MozillaFirefox | 0 | 102.9.0-112.153.1 |
| SUSE:Linux Enterprise Server 12 SP5 | MozillaFirefox | 0 | 102.9.0-112.153.1 |
| SUSE:Linux Enterprise Server 15 SP1-LTSS | MozillaFirefox | 0 | 102.9.0-150000.150.79.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | MozillaFirefox | 0 | 102.9.0-150200.152.81.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | MozillaFirefox | 0 | 102.9.0-150200.152.81.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP4 | MozillaFirefox | 0 | 102.9.0-112.153.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | MozillaFirefox | 0 | 102.9.0-112.153.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP1 | MozillaFirefox | 0 | 102.9.0-150000.150.79.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | MozillaFirefox | 0 | 102.9.0-150200.152.81.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | MozillaFirefox | 0 | 102.9.0-150200.152.81.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | MozillaFirefox | 0 | 102.9.0-112.153.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP4 | MozillaThunderbird | 0 | 102.9.1-150200.8.110.2 |
| SUSE:OpenStack Cloud 9 | MozillaFirefox | 0 | 102.9.0-112.153.1 |
| SUSE:OpenStack Cloud Crowbar 9 | MozillaFirefox | 0 | 102.9.0-112.153.1 |
| Ubuntu:18.04:LTS | firefox | 0 | 111.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.9.0+build1-0ubuntu0.18.04.1 |
| Ubuntu:20.04:LTS | firefox | 0 | 111.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.9.0+build1-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.9.0+build1-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.9.0-150200.152.81.1 |
| openSUSE:Leap 15.4 | MozillaThunderbird | 0 | 102.9.1-150200.8.110.2 |
| openSUSE:Tumbleweed | MozillaFirefox | 0 | 111.0.1-1.1 |
| openSUSE:Tumbleweed | MozillaThunderbird | 0 | 102.9.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