CVE-2023-29548
Medium · 6.5CVSS
6.5
EPSS
0.7%
Published
Jun 2, 2023
CISA due date
—
Cloudanix analysis
A flaw in how certain browsers process code on ARM64 devices could allow attackers to change information they should not be able to modify.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Data Tampering
- Component
- Application
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Low
- Patch risk
- Low
What it actually does
Incorrect lowering in the ARM64 Ion JIT compiler produces wrong optimization results, resulting in memory corruption that can alter program state or data integrity during execution of JIT-compiled code.
Why it matters to the business
Attackers can tamper with browser or email client behavior on ARM64 systems, potentially leading to unauthorized data changes or integrity violations that disrupt operations or enable further compromise without requiring user credentials.
How an attack unfolds
An attacker crafts a malicious webpage or email attachment containing JavaScript or content that triggers the flawed ARM64 Ion optimization path; when the victim visits or opens it on an affected ARM64 device, the JIT compiler emits incorrect code allowing integrity manipulation.
How to fix it
Upgrade Firefox to version 112 or later, Firefox ESR to 102.10 or later, Focus for Android to 112 or later, Firefox for Android to 112 or later, and Thunderbird to 102.10 or later.
How to confirm the fix worked
Confirm installed versions meet or exceed the fixed releases and test that JIT-compiled ARM64 workloads no longer exhibit the optimization error through targeted regression tests or browser self-checks.
Typical attack path
- Identify or craft content that exercises the faulty ARM64 Ion lowering path
- Host the content on a web server or deliver via email
- Trick the target into loading the content in an affected browser or Thunderbird on ARM64
- Trigger JIT compilation to execute the misoptimized code
- Leverage the resulting integrity violation to alter application state or data
How to detect it
Review web server or email logs for access to suspicious content that matches known trigger patterns; examine browser process crashes or anomalous JIT behavior on ARM64 systems for signs of integrity tampering.
What your security team should do
- Prioritize updating all ARM64 instances of Firefox, ESR, Focus, and Thunderbird to the fixed versions immediately
- Monitor vendor advisories for any additional ARM64 JIT-related issues
- Enforce automatic updates where possible and audit endpoints for outdated deployments
The record
A wrong lowering instruction in the ARM64 Ion compiler resulted in a wrong optimization result. This vulnerability affects Firefox < 112, Focus for Android < 112, Firefox ESR < 102.10, Firefox for Android < 112, and Thunderbird < 102.10.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | firefox | 0 | 102.10.0-1.el8_7.alma |
| AlmaLinux:8 | thunderbird | 0 | 102.10.0-2.el8_7.alma |
| AlmaLinux:9 | firefox | 0 | 102.10.0-1.el9_1.alma |
| AlmaLinux:9 | firefox-x11 | 0 | 102.10.0-1.el9_1.alma |
| AlmaLinux:9 | thunderbird | 0 | 102.10.0-2.el9_1.alma |
| Debian:10 | firefox-esr | 0 | 102.10.0esr-1~deb10u1 |
| Debian:10 | thunderbird | 0 | 1:102.10.0-1~deb10u1 |
| Debian:11 | firefox-esr | 0 | 102.10.0esr-1~deb11u1 |
| Debian:11 | thunderbird | 0 | 1:102.10.0-1~deb11u1 |
| Debian:12 | firefox-esr | 0 | 102.10.0esr-1 |
| Debian:12 | thunderbird | 0 | 1:102.10.0-1 |
| Debian:13 | firefox-esr | 0 | 102.10.0esr-1 |
| Debian:13 | thunderbird | 0 | 1:102.10.0-1 |
| Mageia:8 | thunderbird | 0 | 102.10.0-1.mga8 |
| Mageia:8 | thunderbird-l10n | 0 | 102.10.0-1.mga8 |
| Red Hat:enterprise_linux:7::client | firefox | 0 | 0:102.10.0-1.el7_9 |
| Red Hat:enterprise_linux:7::client | firefox-debuginfo | 0 | 0:102.10.0-1.el7_9 |
| Red Hat:enterprise_linux:7::client | thunderbird | 0 | 0:102.10.0-2.el7_9 |
| Red Hat:enterprise_linux:7::client | thunderbird-debuginfo | 0 | 0:102.10.0-2.el7_9 |
| Red Hat:enterprise_linux:7::server | firefox | 0 | 0:102.10.0-1.el7_9 |
| Red Hat:enterprise_linux:7::server | firefox-debuginfo | 0 | 0:102.10.0-1.el7_9 |
| Red Hat:enterprise_linux:7::server | thunderbird | 0 | 0:102.10.0-2.el7_9 |
| Red Hat:enterprise_linux:7::server | thunderbird-debuginfo | 0 | 0:102.10.0-2.el7_9 |
| Red Hat:enterprise_linux:7::workstation | firefox | 0 | 0:102.10.0-1.el7_9 |
| Red Hat:enterprise_linux:7::workstation | firefox-debuginfo | 0 | 0:102.10.0-1.el7_9 |
| Red Hat:enterprise_linux:7::workstation | thunderbird | 0 | 0:102.10.0-2.el7_9 |
| Red Hat:enterprise_linux:7::workstation | thunderbird-debuginfo | 0 | 0:102.10.0-2.el7_9 |
| Red Hat:enterprise_linux:8::appstream | firefox | 0 | 0:102.10.0-1.el8_7 |
| Red Hat:enterprise_linux:8::appstream | firefox-debuginfo | 0 | 0:102.10.0-1.el8_7 |
| Red Hat:enterprise_linux:8::appstream | firefox-debugsource | 0 | 0:102.10.0-1.el8_7 |
| Red Hat:enterprise_linux:8::appstream | thunderbird | 0 | 0:102.10.0-2.el8_7 |
| Red Hat:enterprise_linux:8::appstream | thunderbird-debuginfo | 0 | 0:102.10.0-2.el8_7 |
| Red Hat:enterprise_linux:8::appstream | thunderbird-debugsource | 0 | 0:102.10.0-2.el8_7 |
| Red Hat:enterprise_linux:9::appstream | firefox | 0 | 0:102.10.0-1.el9_1 |
| Red Hat:enterprise_linux:9::appstream | firefox-debuginfo | 0 | 0:102.10.0-1.el9_1 |
| Red Hat:enterprise_linux:9::appstream | firefox-debugsource | 0 | 0:102.10.0-1.el9_1 |
| Red Hat:enterprise_linux:9::appstream | firefox-x11 | 0 | 0:102.10.0-1.el9_1 |
| Red Hat:enterprise_linux:9::appstream | thunderbird | 0 | 0:102.10.0-2.el9_1 |
| Red Hat:enterprise_linux:9::appstream | thunderbird-debuginfo | 0 | 0:102.10.0-2.el9_1 |
| Red Hat:enterprise_linux:9::appstream | thunderbird-debugsource | 0 | 0:102.10.0-2.el9_1 |
| Red Hat:rhel_aus:8.2::appstream | firefox | 0 | 0:102.10.0-1.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | firefox-debuginfo | 0 | 0:102.10.0-1.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | firefox-debugsource | 0 | 0:102.10.0-1.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | thunderbird | 0 | 0:102.10.0-2.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | thunderbird-debuginfo | 0 | 0:102.10.0-2.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | thunderbird-debugsource | 0 | 0:102.10.0-2.el8_2 |
| Red Hat:rhel_e4s:8.1::appstream | firefox | 0 | 0:102.10.0-1.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | firefox-debuginfo | 0 | 0:102.10.0-1.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | firefox-debugsource | 0 | 0:102.10.0-1.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | thunderbird | 0 | 0:102.10.0-2.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | thunderbird-debuginfo | 0 | 0:102.10.0-2.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | thunderbird-debugsource | 0 | 0:102.10.0-2.el8_1 |
| Red Hat:rhel_e4s:8.2::appstream | firefox | 0 | 0:102.10.0-1.el8_2 |
| Red Hat:rhel_e4s:8.2::appstream | firefox-debuginfo | 0 | 0:102.10.0-1.el8_2 |
| Red Hat:rhel_e4s:8.2::appstream | firefox-debugsource | 0 | 0:102.10.0-1.el8_2 |
| Red Hat:rhel_e4s:8.2::appstream | thunderbird | 0 | 0:102.10.0-2.el8_2 |
| Red Hat:rhel_e4s:8.2::appstream | thunderbird-debuginfo | 0 | 0:102.10.0-2.el8_2 |
| Red Hat:rhel_e4s:8.2::appstream | thunderbird-debugsource | 0 | 0:102.10.0-2.el8_2 |
| Red Hat:rhel_eus:8.4::appstream | firefox | 0 | 0:102.10.0-1.el8_4 |
| Red Hat:rhel_eus:8.4::appstream | firefox-debuginfo | 0 | 0:102.10.0-1.el8_4 |
| Red Hat:rhel_eus:8.4::appstream | firefox-debugsource | 0 | 0:102.10.0-1.el8_4 |
| Red Hat:rhel_eus:8.4::appstream | thunderbird | 0 | 0:102.10.0-2.el8_4 |
| Red Hat:rhel_eus:8.4::appstream | thunderbird-debuginfo | 0 | 0:102.10.0-2.el8_4 |
| Red Hat:rhel_eus:8.4::appstream | thunderbird-debugsource | 0 | 0:102.10.0-2.el8_4 |
| Red Hat:rhel_eus:8.6::appstream | firefox | 0 | 0:102.10.0-1.el8_6 |
| Red Hat:rhel_eus:8.6::appstream | firefox-debuginfo | 0 | 0:102.10.0-1.el8_6 |
| Red Hat:rhel_eus:8.6::appstream | firefox-debugsource | 0 | 0:102.10.0-1.el8_6 |
| Red Hat:rhel_eus:8.6::appstream | thunderbird | 0 | 0:102.10.0-2.el8_6 |
| Red Hat:rhel_eus:8.6::appstream | thunderbird-debuginfo | 0 | 0:102.10.0-2.el8_6 |
| Red Hat:rhel_eus:8.6::appstream | thunderbird-debugsource | 0 | 0:102.10.0-2.el8_6 |
| Red Hat:rhel_eus:9.0::appstream | firefox | 0 | 0:102.10.0-1.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | firefox-debuginfo | 0 | 0:102.10.0-1.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | firefox-debugsource | 0 | 0:102.10.0-1.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | thunderbird | 0 | 0:102.10.0-2.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | thunderbird-debuginfo | 0 | 0:102.10.0-2.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | thunderbird-debugsource | 0 | 0:102.10.0-2.el9_0 |
| Red Hat:rhel_tus:8.2::appstream | firefox | 0 | 0:102.10.0-1.el8_2 |
| Red Hat:rhel_tus:8.2::appstream | firefox-debuginfo | 0 | 0:102.10.0-1.el8_2 |
| Red Hat:rhel_tus:8.2::appstream | firefox-debugsource | 0 | 0:102.10.0-1.el8_2 |
| Red Hat:rhel_tus:8.2::appstream | thunderbird | 0 | 0:102.10.0-2.el8_2 |
| Red Hat:rhel_tus:8.2::appstream | thunderbird-debuginfo | 0 | 0:102.10.0-2.el8_2 |
| Red Hat:rhel_tus:8.2::appstream | thunderbird-debugsource | 0 | 0:102.10.0-2.el8_2 |
| Rocky Linux:8 | thunderbird | 0 | 0:102.10.0-2.el8_7 |
| Rocky Linux:9 | thunderbird | 0 | 0:102.10.0-2.el9_1 |
| SUSE:Enterprise Storage 7 | MozillaFirefox | 0 | 102.10.0-150200.152.84.1 |
| SUSE:Enterprise Storage 7.1 | MozillaFirefox | 0 | 102.10.0-150200.152.84.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS | MozillaFirefox | 0 | 102.10.0-150000.150.82.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | MozillaFirefox | 0 | 102.10.0-150200.152.84.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS | MozillaFirefox | 0 | 102.10.0-150200.152.84.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | MozillaFirefox | 0 | 102.10.0-150200.152.84.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP4 | MozillaFirefox | 0 | 102.10.0-150200.152.84.1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP4 | MozillaThunderbird | 0 | 102.10.1-150200.8.113.2 |
| SUSE:Linux Enterprise Real Time 15 SP3 | MozillaFirefox | 0 | 102.10.0-150200.152.84.1 |
| SUSE:Linux Enterprise Server 12 SP2-BCL | MozillaFirefox | 0 | 102.10.0-112.156.1 |
| SUSE:Linux Enterprise Server 12 SP4-ESPOS | MozillaFirefox | 0 | 102.10.0-112.156.1 |
| SUSE:Linux Enterprise Server 12 SP4-LTSS | MozillaFirefox | 0 | 102.10.0-112.156.1 |
| SUSE:Linux Enterprise Server 12 SP5 | MozillaFirefox | 0 | 102.10.0-112.156.1 |
| SUSE:Linux Enterprise Server 15 SP1-LTSS | MozillaFirefox | 0 | 102.10.0-150000.150.82.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | MozillaFirefox | 0 | 102.10.0-150200.152.84.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | MozillaFirefox | 0 | 102.10.0-150200.152.84.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP4 | MozillaFirefox | 0 | 102.10.0-112.156.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | MozillaFirefox | 0 | 102.10.0-112.156.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP1 | MozillaFirefox | 0 | 102.10.0-150000.150.82.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | MozillaFirefox | 0 | 102.10.0-150200.152.84.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | MozillaFirefox | 0 | 102.10.0-150200.152.84.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | MozillaFirefox | 0 | 102.10.0-112.156.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP4 | MozillaThunderbird | 0 | 102.10.1-150200.8.113.2 |
| SUSE:OpenStack Cloud 9 | MozillaFirefox | 0 | 102.10.0-112.156.1 |
| SUSE:OpenStack Cloud Crowbar 9 | MozillaFirefox | 0 | 102.10.0-112.156.1 |
| Ubuntu:18.04:LTS | firefox | 0 | 112.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.10.0+build2-0ubuntu0.18.04.1 |
| Ubuntu:20.04:LTS | firefox | 0 | 112.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.10.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.10.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.10.0-150200.152.84.1 |
| openSUSE:Leap 15.4 | MozillaThunderbird | 0 | 102.10.1-150200.8.113.2 |
| openSUSE:Tumbleweed | MozillaFirefox | 0 | 112.0.1-1.1 |
| openSUSE:Tumbleweed | MozillaThunderbird | 0 | 102.10.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