CVE-2023-4575
Medium · 6.5CVSS
6.5
EPSS
0.7%
Published
Sep 11, 2023
CISA due date
—
Cloudanix analysis
A flaw in how the browser or email program handles certain window-opening requests can cause it to crash or be taken over by an attacker who sends specially crafted content.
- 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
Use-after-free triggered when multiple IPC callbacks for the File Picker window are created and then simultaneously destroyed, allowing memory reuse after deallocation and resulting in a crash.
Why it matters to the business
Users of affected browser and email clients face potential denial-of-service crashes or, in the worst case, remote code execution that could lead to data theft or system compromise until patches are applied.
How an attack unfolds
An attacker supplies crafted content that causes the browser to open the File Picker via IPC, deliberately creating overlapping callbacks that are freed together; when one callback finishes and frees the shared memory, subsequent accesses in the remaining callbacks trigger the use-after-free condition.
How to fix it
Upgrade Firefox to version 117 or later, Firefox ESR to 102.15 or 115.2 or later, and Thunderbird to 102.15 or 115.2 or later. Apply updates through the product's built-in update mechanism as soon as they become available.
How to confirm the fix worked
Verify installed versions against the fixed releases listed above; re-test the File Picker IPC flow under load to confirm absence of overlapping callbacks and crashes.
Typical attack path
- Deliver malicious web content or email that triggers the File Picker IPC path
- Force repeated callback registration before any single callback completes
- Trigger simultaneous destruction of the callback set to induce the use-after-free
- Leverage the resulting memory corruption to achieve a crash or attempt code execution
How to detect it
Search browser and Thunderbird crash reports for signatures involving IPC File Picker callbacks; inspect process logs for repeated callback registration events followed immediately by access violations or heap corruption indicators.
What your security team should do
- Prioritize patching all Firefox and Thunderbird instances to the fixed versions within the next 48 hours
- Enable automatic updates where possible and monitor for any post-patch crash reports related to IPC callbacks
- Review endpoint detection logs for unexpected browser crashes during file-picker operations
The record
When creating a callback over IPC for showing the File Picker window, multiple of the same callbacks could have been created at a time and eventually all simultaneously destroyed as soon as one of the callbacks finished. This could have led to a use-after-free causing a potentially exploitable crash. This vulnerability affects Firefox < 117, Firefox ESR < 102.15, Firefox ESR < 115.2, Thunderbird < 102.15, 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:10 | firefox-esr | 0 | 102.15.0esr-1~deb10u1 |
| Debian:10 | thunderbird | 0 | 1:102.15.0-1~deb10u1 |
| Debian:11 | firefox-esr | 0 | 102.15.0esr-1~deb11u1 |
| Debian:11 | thunderbird | 0 | 1:102.15.0-1~deb11u1 |
| Debian:12 | firefox-esr | 0 | 102.15.0esr-1~deb12u1 |
| Debian:12 | thunderbird | 0 | 1:102.15.0-1~deb12u1 |
| 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:102.15.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:102.15.1+build1-0ubuntu0.22.04.1 |
| 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