CVE-2023-4574
Medium · 6.5CVSS
6.5
EPSS
0.7%
Published
Sep 11, 2023
CISA due date
—
Cloudanix analysis
A flaw in older Firefox and Thunderbird versions can make the programs crash when a user interacts with certain web features, potentially interrupting work until the software is updated.
- 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 identical IPC callbacks for the Color Picker window are created and then simultaneously destroyed upon completion of any one callback, resulting in a dangling reference and exploitable crash.
Why it matters to the business
Browser or email client crashes can interrupt user workflows and create denial-of-service conditions; because the flaw is reachable from web content it raises the risk of targeted disruption for organizations that rely on Firefox or Thunderbird.
How an attack unfolds
An attacker serves specially crafted web content or an email that causes the browser to open the color-picker dialog multiple times over IPC; the rapid creation and collective destruction of the callbacks leaves a freed object that is later accessed, producing a crash that may be turned into code execution.
How to fix it
Upgrade Firefox to 117 or later, Firefox ESR to 102.15 or 115.2 or later, and Thunderbird to 102.15 or 115.2 or later. Where immediate patching is not possible, restrict untrusted web content or email rendering in the affected applications.
How to confirm the fix worked
Confirm installed versions meet or exceed the fixed releases listed in the advisory; re-test the color-picker IPC path under controlled conditions to verify the crash no longer occurs.
Typical attack path
- Deliver malicious HTML or email to a target user
- Trigger repeated IPC calls to open the color-picker window
- Force simultaneous destruction of the duplicate callbacks
- Trigger subsequent use of the now-freed callback object
- Crash the process and attempt to leverage the freed memory for arbitrary code execution
How to detect it
Monitor application crash logs and telemetry for repeated color-picker or IPC callback failures; correlate with browser process terminations shortly after rendering untrusted content.
What your security team should do
- Prioritize patching of internet-facing Firefox and Thunderbird deployments within the next 30 days
- Enable automatic updates for all Mozilla products across the fleet
- Review crash-reporting telemetry for sudden spikes in color-picker or IPC-related crashes
- Block or sandbox untrusted web content until patches are deployed
The record
When creating a callback over IPC for showing the Color 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