CVE-2022-31747
Critical · 9.8CVSS
9.8
EPSS
0.9%
Published
Dec 22, 2022
CISA due date
—
Cloudanix analysis
A bug in the software could let attackers take control of computers by running their own programs without the user doing anything.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Full Compromise
- Component
- Application
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Memory corruption bugs present in the product that could be exploited to execute arbitrary code.
Why it matters to the business
Attackers could remotely compromise systems running unpatched versions, leading to full system takeover and data loss; the issue affects widely used open-source components with many downstream dependents.
How an attack unfolds
An attacker sends specially crafted input over the network that triggers one of the memory safety bugs, corrupting memory and allowing arbitrary code execution with no user interaction required.
How to fix it
Upgrade libexpat/libexpat (GIT) to the fixed commit d77291a4824d78e697c5dc2b8024fd65ab31e209; apply the update immediately given the high CVSS and public disclosure more than three years ago.
How to confirm the fix worked
Verify the installed version matches or exceeds the fixed commit d77291a4824d78e697c5dc2b8024fd65ab31e209 and confirm no memory corruption occurs with known test cases.
Typical attack path
- Identify unpatched instance of the affected product
- Craft and deliver malicious network payload
- Trigger memory corruption condition
- Execute arbitrary code on the target system
How to detect it
Review application logs and process crash reports for signs of memory corruption or unexpected code execution attempts; check system memory dumps for anomalies after suspicious network traffic.
What your security team should do
- Prioritize patching all instances to the fixed commit within 48 hours
- Scan the environment for any remaining vulnerable versions
- Monitor for unusual memory or process behavior post-update
The record
Mozilla developers Andrew McCreight, Nicolas B. Pierron, and the Mozilla Fuzzing Team reported memory safety bugs present in Firefox 100 and Firefox ESR 91.9. Some of these bugs showed evidence of memory corruption and we presume that with enough effort some of these could have been exploited to run arbitrary code. 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 | No fix |
| 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