CVE-2023-4577
Medium · 6.5CVSS
6.5
EPSS
0.7%
Published
Sep 11, 2023
CISA due date
—
Cloudanix analysis
A flaw in popular web browsers and email programs could let attackers crash the software simply by getting a user to visit a malicious webpage.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Moderate
- Impact
- Denial Of Service
- Component
- Application
- Class
- Use After Free
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
A use-after-free condition occurs when UpdateRegExpStatics accesses initialStringHeap after it has been garbage collected, potentially causing an exploitable crash.
Why it matters to the business
Browser and email client crashes disrupt user productivity and can be leveraged for denial of service or remote code execution, increasing risk across the large installed base of Mozilla products.
How an attack unfolds
An attacker hosts a malicious webpage containing crafted JavaScript that forces garbage collection of initialStringHeap immediately before UpdateRegExpStatics attempts to reference it, turning the freed memory access into a crash or potential code-execution primitive.
How to fix it
Upgrade Firefox to 117 or later, Firefox ESR to 115.2 or later, and Thunderbird to 115.2 or later; enable automatic updates and verify versions across all endpoints.
How to confirm the fix worked
Confirm installed versions meet or exceed the fixed releases; re-test affected RegExp operations under memory-pressure conditions to ensure no crashes occur.
Typical attack path
- Deliver malicious webpage via phishing or compromised site
- Trigger JavaScript execution that manipulates RegExp statics
- Force garbage collection of initialStringHeap
- Invoke UpdateRegExpStatics on the now-freed heap object
- Achieve crash or memory corruption for further exploitation
How to detect it
Review browser crash logs and heap-dump telemetry for faults involving RegExp statics or initialStringHeap references; correlate with web-request logs from untrusted domains.
What your security team should do
- Immediately deploy the listed version upgrades enterprise-wide
- Disable automatic script execution in high-risk browsers where feasible until patched
- Monitor crash-reporting telemetry for RegExp-related heap faults
The record
When `UpdateRegExpStatics` attempted to access `initialStringHeap` it could already have been garbage collected prior to entering the function, which could potentially have led to an exploitable crash. This vulnerability affects Firefox < 117, Firefox ESR < 115.2, and Thunderbird < 115.2.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | firefox | 0 | 102.15.0-1.el8_8.alma |
| AlmaLinux:8 | thunderbird | 0 | 102.15.0-1.el8_8.alma |
| AlmaLinux:9 | firefox | 0 | 102.15.0-1.el9_2.alma |
| AlmaLinux:9 | firefox-x11 | 0 | 102.15.0-1.el9_2.alma |
| AlmaLinux:9 | thunderbird | 0 | 102.15.0-1.el9_2.alma |
| Debian:13 | firefox-esr | 0 | 115.2.0esr-1 |
| Debian:13 | thunderbird | 0 | 1:115.2.0-1 |
| Mageia:8 | firefox | 0 | 102.15.1-1.mga8 |
| Mageia:8 | firefox-l10n | 0 | 102.15.1-1.mga8 |
| Mageia:8 | nss | 0 | 3.93.0-1.mga8 |
| Mageia:8 | rootcerts | 0 | 20230720.00-1.mga8 |
| Mageia:8 | thunderbird | 0 | 102.15.1-1.mga8 |
| Mageia:8 | thunderbird-l10n | 0 | 102.15.1-1.mga8 |
| Mageia:9 | firefox | 0 | 115.2.1-1.mga9 |
| Mageia:9 | firefox-l10n | 0 | 115.2.1-1.mga9 |
| Mageia:9 | nss | 0 | 3.93.0-1.mga9 |
| Mageia:9 | rootcerts | 0 | 20230720.00-1.mga9 |
| Mageia:9 | thunderbird | 0 | 115.2.2-1.mga9 |
| Mageia:9 | thunderbird-l10n | 0 | 115.2.2-1.mga9 |
| Red Hat:enterprise_linux:7::client | firefox | 0 | 0:102.15.0-1.el7_9 |
| Red Hat:enterprise_linux:7::client | firefox-debuginfo | 0 | 0:102.15.0-1.el7_9 |
| Red Hat:enterprise_linux:7::client | thunderbird | 0 | 0:102.15.0-1.el7_9 |
| Red Hat:enterprise_linux:7::client | thunderbird-debuginfo | 0 | 0:102.15.0-1.el7_9 |
| Red Hat:enterprise_linux:7::server | firefox | 0 | 0:102.15.0-1.el7_9 |
| Red Hat:enterprise_linux:7::server | firefox-debuginfo | 0 | 0:102.15.0-1.el7_9 |
| Red Hat:enterprise_linux:7::server | thunderbird | 0 | 0:102.15.0-1.el7_9 |
| Red Hat:enterprise_linux:7::server | thunderbird-debuginfo | 0 | 0:102.15.0-1.el7_9 |
| Red Hat:enterprise_linux:7::workstation | firefox | 0 | 0:102.15.0-1.el7_9 |
| Red Hat:enterprise_linux:7::workstation | firefox-debuginfo | 0 | 0:102.15.0-1.el7_9 |
| Red Hat:enterprise_linux:7::workstation | thunderbird | 0 | 0:102.15.0-1.el7_9 |
| Red Hat:enterprise_linux:7::workstation | thunderbird-debuginfo | 0 | 0:102.15.0-1.el7_9 |
| Red Hat:enterprise_linux:8::appstream | firefox | 0 | 0:102.15.0-1.el8_8 |
| Red Hat:enterprise_linux:8::appstream | firefox-debuginfo | 0 | 0:102.15.0-1.el8_8 |
| Red Hat:enterprise_linux:8::appstream | firefox-debugsource | 0 | 0:102.15.0-1.el8_8 |
| Red Hat:enterprise_linux:8::appstream | thunderbird | 0 | 0:102.15.0-1.el8_8 |
| Red Hat:enterprise_linux:8::appstream | thunderbird-debuginfo | 0 | 0:102.15.0-1.el8_8 |
| Red Hat:enterprise_linux:8::appstream | thunderbird-debugsource | 0 | 0:102.15.0-1.el8_8 |
| Red Hat:enterprise_linux:9::appstream | firefox | 0 | 0:102.15.0-1.el9_2 |
| Red Hat:enterprise_linux:9::appstream | firefox-debuginfo | 0 | 0:102.15.0-1.el9_2 |
| Red Hat:enterprise_linux:9::appstream | firefox-debugsource | 0 | 0:102.15.0-1.el9_2 |
| Red Hat:enterprise_linux:9::appstream | firefox-x11 | 0 | 0:102.15.0-1.el9_2 |
| Red Hat:enterprise_linux:9::appstream | thunderbird | 0 | 0:102.15.0-1.el9_2 |
| Red Hat:enterprise_linux:9::appstream | thunderbird-debuginfo | 0 | 0:102.15.0-1.el9_2 |
| Red Hat:enterprise_linux:9::appstream | thunderbird-debugsource | 0 | 0:102.15.0-1.el9_2 |
| Red Hat:rhel_aus:8.2::appstream | firefox | 0 | 0:102.15.0-1.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | firefox-debuginfo | 0 | 0:102.15.0-1.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | firefox-debugsource | 0 | 0:102.15.0-1.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | thunderbird | 0 | 0:102.15.0-1.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | thunderbird-debuginfo | 0 | 0:102.15.0-1.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | thunderbird-debugsource | 0 | 0:102.15.0-1.el8_2 |
| Red Hat:rhel_aus:8.4::appstream | firefox | 0 | 0:102.15.0-1.el8_4 |
| Red Hat:rhel_aus:8.4::appstream | firefox-debuginfo | 0 | 0:102.15.0-1.el8_4 |
| Red Hat:rhel_aus:8.4::appstream | firefox-debugsource | 0 | 0:102.15.0-1.el8_4 |
| Red Hat:rhel_aus:8.4::appstream | thunderbird | 0 | 0:102.15.0-1.el8_4 |
| Red Hat:rhel_aus:8.4::appstream | thunderbird-debuginfo | 0 | 0:102.15.0-1.el8_4 |
| Red Hat:rhel_aus:8.4::appstream | thunderbird-debugsource | 0 | 0:102.15.0-1.el8_4 |
| Red Hat:rhel_e4s:8.1::appstream | firefox | 0 | 0:102.15.0-1.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | firefox-debuginfo | 0 | 0:102.15.0-1.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | firefox-debugsource | 0 | 0:102.15.0-1.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | thunderbird | 0 | 0:102.15.0-1.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | thunderbird-debuginfo | 0 | 0:102.15.0-1.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | thunderbird-debugsource | 0 | 0:102.15.0-1.el8_1 |
| Red Hat:rhel_e4s:8.2::appstream | firefox | 0 | 0:102.15.0-1.el8_2 |
| Red Hat:rhel_e4s:8.2::appstream | firefox-debuginfo | 0 | 0:102.15.0-1.el8_2 |
| Red Hat:rhel_e4s:8.2::appstream | firefox-debugsource | 0 | 0:102.15.0-1.el8_2 |
| Red Hat:rhel_e4s:8.2::appstream | thunderbird | 0 | 0:102.15.0-1.el8_2 |
| Red Hat:rhel_e4s:8.2::appstream | thunderbird-debuginfo | 0 | 0:102.15.0-1.el8_2 |
| Red Hat:rhel_e4s:8.2::appstream | thunderbird-debugsource | 0 | 0:102.15.0-1.el8_2 |
| Red Hat:rhel_e4s:8.4::appstream | firefox | 0 | 0:102.15.0-1.el8_4 |
| Red Hat:rhel_e4s:8.4::appstream | firefox-debuginfo | 0 | 0:102.15.0-1.el8_4 |
| Red Hat:rhel_e4s:8.4::appstream | firefox-debugsource | 0 | 0:102.15.0-1.el8_4 |
| Red Hat:rhel_e4s:8.4::appstream | thunderbird | 0 | 0:102.15.0-1.el8_4 |
| Red Hat:rhel_e4s:8.4::appstream | thunderbird-debuginfo | 0 | 0:102.15.0-1.el8_4 |
| Red Hat:rhel_e4s:8.4::appstream | thunderbird-debugsource | 0 | 0:102.15.0-1.el8_4 |
| Red Hat:rhel_eus:8.6::appstream | firefox | 0 | 0:102.15.0-1.el8_6 |
| Red Hat:rhel_eus:8.6::appstream | firefox-debuginfo | 0 | 0:102.15.0-1.el8_6 |
| Red Hat:rhel_eus:8.6::appstream | firefox-debugsource | 0 | 0:102.15.0-1.el8_6 |
| Red Hat:rhel_eus:9.0::appstream | firefox | 0 | 0:102.15.0-1.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | firefox-debuginfo | 0 | 0:102.15.0-1.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | firefox-debugsource | 0 | 0:102.15.0-1.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | thunderbird | 0 | 0:102.15.0-1.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | thunderbird-debuginfo | 0 | 0:102.15.0-1.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | thunderbird-debugsource | 0 | 0:102.15.0-1.el9_0 |
| Red Hat:rhel_tus:8.2::appstream | firefox | 0 | 0:102.15.0-1.el8_2 |
| Red Hat:rhel_tus:8.2::appstream | firefox-debuginfo | 0 | 0:102.15.0-1.el8_2 |
| Red Hat:rhel_tus:8.2::appstream | firefox-debugsource | 0 | 0:102.15.0-1.el8_2 |
| Red Hat:rhel_tus:8.2::appstream | thunderbird | 0 | 0:102.15.0-1.el8_2 |
| Red Hat:rhel_tus:8.2::appstream | thunderbird-debuginfo | 0 | 0:102.15.0-1.el8_2 |
| Red Hat:rhel_tus:8.2::appstream | thunderbird-debugsource | 0 | 0:102.15.0-1.el8_2 |
| Red Hat:rhel_tus:8.4::appstream | firefox | 0 | 0:102.15.0-1.el8_4 |
| Red Hat:rhel_tus:8.4::appstream | firefox-debuginfo | 0 | 0:102.15.0-1.el8_4 |
| Red Hat:rhel_tus:8.4::appstream | firefox-debugsource | 0 | 0:102.15.0-1.el8_4 |
| Red Hat:rhel_tus:8.4::appstream | thunderbird | 0 | 0:102.15.0-1.el8_4 |
| Red Hat:rhel_tus:8.4::appstream | thunderbird-debuginfo | 0 | 0:102.15.0-1.el8_4 |
| Red Hat:rhel_tus:8.4::appstream | thunderbird-debugsource | 0 | 0:102.15.0-1.el8_4 |
| Rocky Linux:8 | firefox | 0 | 0:102.15.0-1.el8_8 |
| Rocky Linux:8 | thunderbird | 0 | 0:102.15.0-1.el8_8 |
| SUSE:Enterprise Storage 7 | MozillaFirefox | 0 | 115.2.0-150200.152.102.1 |
| SUSE:Enterprise Storage 7.1 | MozillaFirefox | 0 | 115.2.0-150200.152.102.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS | MozillaFirefox | 0 | 115.2.0-150000.150.100.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | MozillaFirefox | 0 | 115.2.0-150200.152.102.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS | MozillaFirefox | 0 | 115.2.0-150200.152.102.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | MozillaFirefox | 0 | 115.2.0-150200.152.102.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP4 | MozillaFirefox | 0 | 115.2.0-150200.152.102.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP5 | MozillaFirefox | 0 | 115.2.0-150200.152.102.1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP4 | MozillaThunderbird | 0 | 115.2.2-150200.8.130.1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP5 | MozillaThunderbird | 0 | 115.2.2-150200.8.130.1 |
| SUSE:Linux Enterprise Server 12 SP5 | MozillaFirefox | 0 | 115.2.0-112.176.1 |
| SUSE:Linux Enterprise Server 15 SP1-LTSS | MozillaFirefox | 0 | 115.2.0-150000.150.100.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | MozillaFirefox | 0 | 115.2.0-150200.152.102.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | MozillaFirefox | 0 | 115.2.0-150200.152.102.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | MozillaFirefox | 0 | 115.2.0-112.176.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP1 | MozillaFirefox | 0 | 115.2.0-150000.150.100.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | MozillaFirefox | 0 | 115.2.0-150200.152.102.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | MozillaFirefox | 0 | 115.2.0-150200.152.102.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | MozillaFirefox | 0 | 115.2.0-112.176.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP4 | MozillaThunderbird | 0 | 115.2.2-150200.8.130.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP5 | MozillaThunderbird | 0 | 115.2.2-150200.8.130.1 |
| Ubuntu:18.04:LTS | mozjs38 | 0 | No fix |
| Ubuntu:18.04:LTS | mozjs52 | 0 | No fix |
| Ubuntu:20.04:LTS | firefox | 0 | 117.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:115.3.1+build1-0ubuntu0.20.04.1 |
| Ubuntu:22.04:LTS | mozjs102 | 0 | No fix |
| Ubuntu:22.04:LTS | mozjs78 | 0 | No fix |
| Ubuntu:22.04:LTS | mozjs91 | 0 | No fix |
| Ubuntu:22.04:LTS | thunderbird | 0 | 1:115.3.1+build1-0ubuntu0.22.04.2 |
| Ubuntu:24.04:LTS | mozjs102 | 0 | No fix |
| 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 |
| Ubuntu:Pro:24.04:LTS | mozjs102 | 0 | No fix |
| openSUSE:Leap 15.4 | MozillaFirefox | 0 | 115.2.0-150200.152.102.1 |
| openSUSE:Leap 15.4 | MozillaThunderbird | 0 | 115.2.2-150200.8.130.1 |
| openSUSE:Leap 15.5 | MozillaFirefox | 0 | 115.2.0-150200.152.102.1 |
| openSUSE:Leap 15.5 | MozillaThunderbird | 0 | 115.2.2-150200.8.130.1 |
| openSUSE:Tumbleweed | MozillaFirefox | 0 | 117.0-1.1 |
| openSUSE:Tumbleweed | MozillaThunderbird | 0 | 115.2.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