CVE-2022-31740
High · 8.8CVSS
8.8
EPSS
0.7%
Published
Dec 22, 2022
CISA due date
—
Cloudanix analysis
A flaw in Firefox and Thunderbird on certain newer computers could let a malicious website or email take control of the program or make it crash.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Moderate
- Impact
- Full Compromise
- Component
- Application
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
On arm64 architectures, WebAssembly code generation produced incorrect assembly that caused register allocation errors, resulting in memory corruption and a potentially exploitable crash.
Why it matters to the business
Attackers could achieve remote code execution or denial of service against users on affected arm64 systems running Firefox, Firefox ESR, or Thunderbird, exposing sensitive data and disrupting operations for organizations with arm64 endpoints or users.
How an attack unfolds
An attacker hosts a malicious webpage or email containing specially crafted WebAssembly that triggers the register allocation flaw when executed on arm64 devices; successful exploitation leads to memory corruption that can be leveraged for arbitrary code execution.
How to fix it
Upgrade Mozilla Firefox to version 101 or later, Firefox ESR to 91.10 or later, and Thunderbird to 91.10 or later. Apply updates through the built-in updater or package manager as soon as possible.
How to confirm the fix worked
Verify installed versions match or exceed Firefox 101, Firefox ESR 91.10, or Thunderbird 91.10; confirm absence of the vulnerable code paths by reviewing release notes or running the application on arm64 hardware with WebAssembly workloads.
Typical attack path
- Attacker prepares malicious WebAssembly payload targeting the arm64 code-generation flaw
- Victim is directed to a controlled webpage or receives a malicious email attachment
- Browser or Thunderbird renders the content and executes the WebAssembly on an arm64 system
- Incorrect register allocation triggers memory corruption
- Attacker chains the corruption to achieve code execution or crash the process
How to detect it
Review application crash logs on arm64 systems for WebAssembly-related faults; correlate with browser history or email access around the time of any unexpected crashes.
What your security team should do
- Prioritize immediate updates for all arm64 endpoints running the affected Mozilla products
- Enforce automatic updates via enterprise policy where possible
- Monitor for any post-update stability issues with WebAssembly content
- Educate users on prompt installation of browser and email-client updates
The record
On arm64, WASM code could have resulted in incorrect assembly generation leading to a register allocation problem, and a potentially exploitable crash. This vulnerability affects Thunderbird < 91.10, Firefox < 101, and Firefox ESR < 91.10.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:10 | firefox-esr | 0 | 91.10.0esr-1~deb10u1 |
| Debian:10 | thunderbird | 0 | 1:91.10.0-1~deb10u1 |
| Debian:11 | firefox-esr | 0 | 91.10.0esr-1~deb11u1 |
| Debian:11 | thunderbird | 0 | 1:91.10.0-1~deb11u1 |
| Debian:12 | firefox-esr | 0 | 91.10.0esr-1 |
| Debian:12 | thunderbird | 0 | 1:91.10.0-1 |
| Debian:13 | firefox-esr | 0 | 91.10.0esr-1 |
| Debian:13 | thunderbird | 0 | 1:91.10.0-1 |
| Debian:9 | firefox-esr | 0 | 91.10.0esr-1~deb9u1 |
| Debian:9 | thunderbird | 0 | 1:91.10.0-1~deb9u1 |
| Mageia:8 | firefox | 0 | 91.10.0-1.mga8 |
| Mageia:8 | firefox-l10n | 0 | 91.10.0-1.mga8 |
| Mageia:8 | nspr | 0 | 4.34-1.mga8 |
| Mageia:8 | nss | 0 | 3.79.0-1.mga8 |
| Mageia:8 | thunderbird | 0 | 91.10.0-1.mga8 |
| Mageia:8 | thunderbird-l10n | 0 | 91.10.0-1.mga8 |
| Red Hat:enterprise_linux:7::client | firefox | 0 | 0:91.10.0-1.el7_9 |
| Red Hat:enterprise_linux:7::client | firefox-debuginfo | 0 | 0:91.10.0-1.el7_9 |
| Red Hat:enterprise_linux:7::client | thunderbird | 0 | 0:91.10.0-1.el7_9 |
| Red Hat:enterprise_linux:7::client | thunderbird-debuginfo | 0 | 0:91.10.0-1.el7_9 |
| Red Hat:enterprise_linux:7::server | firefox | 0 | 0:91.10.0-1.el7_9 |
| Red Hat:enterprise_linux:7::server | firefox-debuginfo | 0 | 0:91.10.0-1.el7_9 |
| Red Hat:enterprise_linux:7::server | thunderbird | 0 | 0:91.10.0-1.el7_9 |
| Red Hat:enterprise_linux:7::server | thunderbird-debuginfo | 0 | 0:91.10.0-1.el7_9 |
| Red Hat:enterprise_linux:7::workstation | firefox | 0 | 0:91.10.0-1.el7_9 |
| Red Hat:enterprise_linux:7::workstation | firefox-debuginfo | 0 | 0:91.10.0-1.el7_9 |
| Red Hat:enterprise_linux:7::workstation | thunderbird | 0 | 0:91.10.0-1.el7_9 |
| Red Hat:enterprise_linux:7::workstation | thunderbird-debuginfo | 0 | 0:91.10.0-1.el7_9 |
| Red Hat:enterprise_linux:8::appstream | firefox | 0 | 0:91.10.0-1.el8_6 |
| Red Hat:enterprise_linux:8::appstream | firefox-debuginfo | 0 | 0:91.10.0-1.el8_6 |
| Red Hat:enterprise_linux:8::appstream | firefox-debugsource | 0 | 0:91.10.0-1.el8_6 |
| Red Hat:enterprise_linux:8::appstream | thunderbird | 0 | 0:91.10.0-1.el8_6 |
| Red Hat:enterprise_linux:8::appstream | thunderbird-debuginfo | 0 | 0:91.10.0-1.el8_6 |
| Red Hat:enterprise_linux:8::appstream | thunderbird-debugsource | 0 | 0:91.10.0-1.el8_6 |
| Red Hat:enterprise_linux:9::appstream | firefox | 0 | 0:91.10.0-1.el9_0 |
| Red Hat:enterprise_linux:9::appstream | firefox-debuginfo | 0 | 0:91.10.0-1.el9_0 |
| Red Hat:enterprise_linux:9::appstream | firefox-debugsource | 0 | 0:91.10.0-1.el9_0 |
| Red Hat:enterprise_linux:9::appstream | thunderbird | 0 | 0:91.10.0-1.el9_0 |
| Red Hat:enterprise_linux:9::appstream | thunderbird-debuginfo | 0 | 0:91.10.0-1.el9_0 |
| Red Hat:enterprise_linux:9::appstream | thunderbird-debugsource | 0 | 0:91.10.0-1.el9_0 |
| Red Hat:rhel_e4s:8.1::appstream | firefox | 0 | 0:91.10.0-1.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | firefox-debuginfo | 0 | 0:91.10.0-1.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | firefox-debugsource | 0 | 0:91.10.0-1.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | thunderbird | 0 | 0:91.10.0-1.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | thunderbird-debuginfo | 0 | 0:91.10.0-1.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | thunderbird-debugsource | 0 | 0:91.10.0-1.el8_1 |
| Red Hat:rhel_eus:8.2::appstream | firefox | 0 | 0:91.10.0-1.el8_2 |
| Red Hat:rhel_eus:8.2::appstream | firefox-debuginfo | 0 | 0:91.10.0-1.el8_2 |
| Red Hat:rhel_eus:8.2::appstream | firefox-debugsource | 0 | 0:91.10.0-1.el8_2 |
| Red Hat:rhel_eus:8.2::appstream | thunderbird | 0 | 0:91.10.0-1.el8_2 |
| Red Hat:rhel_eus:8.2::appstream | thunderbird-debuginfo | 0 | 0:91.10.0-1.el8_2 |
| Red Hat:rhel_eus:8.2::appstream | thunderbird-debugsource | 0 | 0:91.10.0-1.el8_2 |
| Red Hat:rhel_eus:8.4::appstream | firefox | 0 | 0:91.10.0-1.el8_4 |
| Red Hat:rhel_eus:8.4::appstream | firefox-debuginfo | 0 | 0:91.10.0-1.el8_4 |
| Red Hat:rhel_eus:8.4::appstream | firefox-debugsource | 0 | 0:91.10.0-1.el8_4 |
| Red Hat:rhel_eus:8.4::appstream | thunderbird | 0 | 0:91.10.0-1.el8_4 |
| Red Hat:rhel_eus:8.4::appstream | thunderbird-debuginfo | 0 | 0:91.10.0-1.el8_4 |
| Red Hat:rhel_eus:8.4::appstream | thunderbird-debugsource | 0 | 0:91.10.0-1.el8_4 |
| Rocky Linux:8 | firefox | 0 | 0:91.10.0-1.el8_6 |
| Rocky Linux:8 | thunderbird | 0 | 0:91.10.0-1.el8_6 |
| SUSE:Enterprise Storage 6 | MozillaFirefox | 0 | 91.10.0-150000.150.44.1 |
| SUSE:Enterprise Storage 7 | MozillaFirefox | 0 | 91.10.0-150200.152.43.1 |
| SUSE:HPE Helion OpenStack 8 | MozillaFirefox | 0 | 91.10.0-112.114.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-ESPOS | MozillaFirefox | 0 | 91.10.0-150000.150.44.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS | MozillaFirefox | 0 | 91.10.0-150000.150.44.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-ESPOS | MozillaFirefox | 0 | 91.10.0-150200.152.43.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | MozillaFirefox | 0 | 91.10.0-150200.152.43.1 |
| SUSE:Linux Enterprise High Performance Computing 15-ESPOS | MozillaFirefox | 0 | 91.10.0-150000.150.44.1 |
| SUSE:Linux Enterprise High Performance Computing 15-LTSS | MozillaFirefox | 0 | 91.10.0-150000.150.44.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP3 | MozillaFirefox | 0 | 91.10.0-150200.152.43.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP4 | MozillaFirefox | 0 | 91.10.0-150200.152.43.1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP3 | MozillaThunderbird | 0 | 91.10.0-150200.8.73.1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP4 | MozillaThunderbird | 0 | 91.10.0-150200.8.73.1 |
| SUSE:Linux Enterprise Server 12 SP2-BCL | MozillaFirefox | 0 | 91.10.0-112.114.1 |
| SUSE:Linux Enterprise Server 12 SP3-BCL | MozillaFirefox | 0 | 91.10.0-112.114.1 |
| SUSE:Linux Enterprise Server 12 SP3-LTSS | MozillaFirefox | 0 | 91.10.0-112.114.1 |
| SUSE:Linux Enterprise Server 12 SP4-LTSS | MozillaFirefox | 0 | 91.10.0-112.114.1 |
| SUSE:Linux Enterprise Server 12 SP5 | MozillaFirefox | 0 | 91.10.0-112.114.1 |
| SUSE:Linux Enterprise Server 15 SP1-BCL | MozillaFirefox | 0 | 91.10.0-150000.150.44.1 |
| SUSE:Linux Enterprise Server 15 SP1-LTSS | MozillaFirefox | 0 | 91.10.0-150000.150.44.1 |
| SUSE:Linux Enterprise Server 15 SP2-BCL | MozillaFirefox | 0 | 91.10.0-150200.152.43.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | MozillaFirefox | 0 | 91.10.0-150200.152.43.1 |
| SUSE:Linux Enterprise Server 15-LTSS | MozillaFirefox | 0 | 91.10.0-150000.150.44.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | MozillaFirefox | 0 | 91.10.0-112.114.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP4 | MozillaFirefox | 0 | 91.10.0-112.114.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | MozillaFirefox | 0 | 91.10.0-112.114.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 | MozillaFirefox | 0 | 91.10.0-150000.150.44.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP1 | MozillaFirefox | 0 | 91.10.0-150000.150.44.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | MozillaFirefox | 0 | 91.10.0-150200.152.43.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | MozillaFirefox | 0 | 91.10.0-112.114.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP3 | MozillaThunderbird | 0 | 91.10.0-150200.8.73.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP4 | MozillaThunderbird | 0 | 91.10.0-150200.8.73.1 |
| SUSE:Manager Proxy 4.1 | MozillaFirefox | 0 | 91.10.0-150200.152.43.1 |
| SUSE:Manager Retail Branch Server 4.1 | MozillaFirefox | 0 | 91.10.0-150200.152.43.1 |
| SUSE:Manager Server 4.1 | MozillaFirefox | 0 | 91.10.0-150200.152.43.1 |
| SUSE:OpenStack Cloud 8 | MozillaFirefox | 0 | 91.10.0-112.114.1 |
| SUSE:OpenStack Cloud 9 | MozillaFirefox | 0 | 91.10.0-112.114.1 |
| SUSE:OpenStack Cloud Crowbar 8 | MozillaFirefox | 0 | 91.10.0-112.114.1 |
| SUSE:OpenStack Cloud Crowbar 9 | MozillaFirefox | 0 | 91.10.0-112.114.1 |
| Ubuntu:18.04:LTS | firefox | 0 | 101.0.1+build1-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:91.11.0+build2-0ubuntu0.18.04.1 |
| Ubuntu:20.04:LTS | firefox | 0 | 101.0.1+build1-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:91.11.0+build2-0ubuntu0.20.04.1 |
| Ubuntu:22.04:LTS | mozjs78 | 0 | No fix |
| Ubuntu:22.04:LTS | mozjs91 | 0 | 91.10.0-0ubuntu1 |
| Ubuntu:22.04:LTS | thunderbird | 0 | 1:91.11.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.3 | MozillaFirefox | 0 | 91.10.0-150200.152.43.1 |
| openSUSE:Leap 15.3 | MozillaThunderbird | 0 | 91.10.0-150200.8.73.1 |
| openSUSE:Leap 15.4 | MozillaFirefox | 0 | 91.10.0-150200.152.43.1 |
| openSUSE:Leap 15.4 | MozillaThunderbird | 0 | 91.10.0-150200.8.73.1 |
| openSUSE:Tumbleweed | MozillaFirefox | 0 | 101.0-1.1 |
| openSUSE:Tumbleweed | MozillaThunderbird | 0 | 91.10.0-1.1 |
| openSUSE:Tumbleweed | firefox-esr | 0 | 128.5.1-1.1 |
Related vulnerabilities
- CVE-2024-5696 By manipulating the text in an `input` tag, an attacker could have caused corrupt memory… Also affects firefox-esr
- CVE-2024-5700 Memory safety bugs present in Firefox 126, Firefox ESR 115.11, and Thunderbird 115.11. Also affects firefox-esr
- CVE-2024-5702 Memory corruption in the networking stack could have led to a potentially exploitable… Also affects firefox-esr
- CVE-2024-5693 Offscreen Canvas did not properly track cross-origin tainting, which could be used to… Also affects firefox-esr
- CVE-2024-5688 If a garbage collection was triggered at the right time, a use-after-free could have… Also affects firefox-esr
- CVE-2024-5691 By tricking the browser with a `X-Frame-Options` header, a sandboxed iframe could have… Also affects firefox-esr
- CVE-2024-5690 By monitoring the time certain operations take, an attacker could have guessed which… Also affects firefox-esr
- CVE-2024-4777 Memory safety bugs present in Firefox 125, Firefox ESR 115.10, and Thunderbird 115.10. Also affects firefox-esr