CVE-2021-29970
High · 8.8CVSS
8.8
EPSS
1.4%
Published
Aug 5, 2021
CISA due date
—
Cloudanix analysis
A flaw in certain web browsers and email programs could let a harmful website take over a user's computer if accessibility tools are turned on.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Remote Code Execution
- Component
- Application
- Class
- Use After Free
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Use-after-free vulnerability in the accessibility subsystem that leads to memory corruption and a potentially exploitable crash when a malicious webpage is rendered.
Why it matters to the business
Remote attackers could achieve code execution on user systems running affected Mozilla products with accessibility features enabled, resulting in data theft, ransomware deployment, or lateral movement within an organization.
How an attack unfolds
An attacker hosts a specially crafted webpage that, when visited by a user with accessibility enabled, triggers the use-after-free condition in Firefox, Firefox ESR, or Thunderbird, allowing memory manipulation and arbitrary code execution.
How to fix it
Upgrade Firefox to version 90 or later, Firefox ESR to 78.12 or later, and Thunderbird to 78.12 or later. Disable accessibility features if upgrades cannot be applied immediately.
How to confirm the fix worked
Verify product versions are at or above the fixed releases and confirm accessibility is either updated or disabled; test rendering of known trigger pages in a controlled environment.
Typical attack path
- User enables accessibility features in the browser or email client
- Attacker lures the user to a malicious webpage via phishing or compromised site
- Webpage content triggers the use-after-free and memory corruption
- Attacker gains control of the process to execute arbitrary code
How to detect it
Review browser and system crash logs for accessibility-related faults, inspect web request logs for visits to suspicious domains, and search endpoint telemetry for unexpected process behavior following web browsing activity.
What your security team should do
- Immediately deploy available updates to all instances of Firefox, Firefox ESR, and Thunderbird
- Audit environments for users with accessibility enabled and prioritize those systems
- Monitor for crash reports involving accessibility components
- Block known malicious domains associated with exploitation attempts
The record
A malicious webpage could have triggered a use-after-free, memory corruption, and a potentially exploitable crash. *This bug could only be triggered when accessibility was enabled.*. This vulnerability affects Thunderbird < 78.12, Firefox ESR < 78.12, and Firefox < 90.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:10 | firefox-esr | 0 | 78.12.0esr-1~deb10u1 |
| Debian:10 | thunderbird | 0 | 1:78.12.0-1~deb10u1 |
| Debian:11 | firefox-esr | 0 | 78.12.0esr-1 |
| Debian:11 | thunderbird | 0 | 1:78.12.0-1 |
| Debian:12 | firefox-esr | 0 | 78.12.0esr-1 |
| Debian:12 | thunderbird | 0 | 1:78.12.0-1 |
| Debian:13 | firefox-esr | 0 | 78.12.0esr-1 |
| Debian:13 | thunderbird | 0 | 1:78.12.0-1 |
| Debian:9 | firefox-esr | 0 | 78.12.0esr-1~deb9u1 |
| Debian:9 | thunderbird | 0 | 1:78.12.0-1~deb9u1 |
| Mageia:8 | firefox | 0 | 78.12.0-1.mga8 |
| Mageia:8 | firefox-l10n | 0 | 78.12.0-1.mga8 |
| Mageia:8 | nspr | 0 | 4.32-1.mga8 |
| Mageia:8 | nss | 0 | 3.68.0-1.mga8 |
| Mageia:8 | rootcerts | 0 | 20210525.00-1.1.mga8 |
| Mageia:8 | thunderbird | 0 | 78.12.0-1.mga8 |
| Mageia:8 | thunderbird-l10n | 0 | 78.12.0-1.mga8 |
| Red Hat:enterprise_linux:7::client | firefox | 0 | 0:78.12.0-1.el7_9 |
| Red Hat:enterprise_linux:7::client | firefox-debuginfo | 0 | 0:78.12.0-1.el7_9 |
| Red Hat:enterprise_linux:7::client | thunderbird | 0 | 0:78.12.0-2.el7_9 |
| Red Hat:enterprise_linux:7::client | thunderbird-debuginfo | 0 | 0:78.12.0-2.el7_9 |
| Red Hat:enterprise_linux:7::server | firefox | 0 | 0:78.12.0-1.el7_9 |
| Red Hat:enterprise_linux:7::server | firefox-debuginfo | 0 | 0:78.12.0-1.el7_9 |
| Red Hat:enterprise_linux:7::server | thunderbird | 0 | 0:78.12.0-2.el7_9 |
| Red Hat:enterprise_linux:7::server | thunderbird-debuginfo | 0 | 0:78.12.0-2.el7_9 |
| Red Hat:enterprise_linux:7::workstation | firefox | 0 | 0:78.12.0-1.el7_9 |
| Red Hat:enterprise_linux:7::workstation | firefox-debuginfo | 0 | 0:78.12.0-1.el7_9 |
| Red Hat:enterprise_linux:7::workstation | thunderbird | 0 | 0:78.12.0-2.el7_9 |
| Red Hat:enterprise_linux:7::workstation | thunderbird-debuginfo | 0 | 0:78.12.0-2.el7_9 |
| Red Hat:enterprise_linux:8::appstream | firefox | 0 | 0:78.12.0-1.el8_4 |
| Red Hat:enterprise_linux:8::appstream | firefox-debuginfo | 0 | 0:78.12.0-1.el8_4 |
| Red Hat:enterprise_linux:8::appstream | firefox-debugsource | 0 | 0:78.12.0-1.el8_4 |
| Red Hat:enterprise_linux:8::appstream | thunderbird | 0 | 0:78.12.0-3.el8_4 |
| Red Hat:enterprise_linux:8::appstream | thunderbird-debuginfo | 0 | 0:78.12.0-3.el8_4 |
| Red Hat:enterprise_linux:8::appstream | thunderbird-debugsource | 0 | 0:78.12.0-3.el8_4 |
| Red Hat:rhel_eus:8.1::appstream | firefox | 0 | 0:78.12.0-1.el8_1 |
| Red Hat:rhel_eus:8.1::appstream | firefox-debuginfo | 0 | 0:78.12.0-1.el8_1 |
| Red Hat:rhel_eus:8.1::appstream | firefox-debugsource | 0 | 0:78.12.0-1.el8_1 |
| Red Hat:rhel_eus:8.1::appstream | thunderbird | 0 | 0:78.12.0-2.el8_1 |
| Red Hat:rhel_eus:8.1::appstream | thunderbird-debuginfo | 0 | 0:78.12.0-2.el8_1 |
| Red Hat:rhel_eus:8.1::appstream | thunderbird-debugsource | 0 | 0:78.12.0-2.el8_1 |
| Red Hat:rhel_eus:8.2::appstream | firefox | 0 | 0:78.12.0-1.el8_2 |
| Red Hat:rhel_eus:8.2::appstream | firefox-debuginfo | 0 | 0:78.12.0-1.el8_2 |
| Red Hat:rhel_eus:8.2::appstream | firefox-debugsource | 0 | 0:78.12.0-1.el8_2 |
| Red Hat:rhel_eus:8.2::appstream | thunderbird | 0 | 0:78.12.0-2.el8_2 |
| Red Hat:rhel_eus:8.2::appstream | thunderbird-debuginfo | 0 | 0:78.12.0-2.el8_2 |
| Red Hat:rhel_eus:8.2::appstream | thunderbird-debugsource | 0 | 0:78.12.0-2.el8_2 |
| Rocky Linux:8 | firefox | 0 | 0:78.12.0-1.el8_4 |
| Rocky Linux:8 | thunderbird | 0 | 0:78.12.0-3.el8_4 |
| SUSE:Enterprise Storage 6 | MozillaFirefox | 0 | 78.12.0-3.147.1 |
| SUSE:HPE Helion OpenStack 8 | MozillaFirefox | 0 | 78.12.0-112.65.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-ESPOS | MozillaFirefox | 0 | 78.12.0-3.147.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS | MozillaFirefox | 0 | 78.12.0-3.147.1 |
| SUSE:Linux Enterprise High Performance Computing 15-ESPOS | MozillaFirefox | 0 | 78.12.0-3.147.1 |
| SUSE:Linux Enterprise High Performance Computing 15-LTSS | MozillaFirefox | 0 | 78.12.0-3.147.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP2 | MozillaFirefox | 0 | 78.12.0-8.46.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP3 | MozillaFirefox | 0 | 78.12.0-8.46.1 |
| SUSE:Linux Enterprise Server 11 SP4-LTSS | MozillaFirefox | 0 | 78.12.0-78.134.1 |
| SUSE:Linux Enterprise Server 12 SP2-BCL | MozillaFirefox | 0 | 78.12.0-112.65.1 |
| SUSE:Linux Enterprise Server 12 SP3-BCL | MozillaFirefox | 0 | 78.12.0-112.65.1 |
| SUSE:Linux Enterprise Server 12 SP3-LTSS | MozillaFirefox | 0 | 78.12.0-112.65.1 |
| SUSE:Linux Enterprise Server 12 SP4-LTSS | MozillaFirefox | 0 | 78.12.0-112.65.1 |
| SUSE:Linux Enterprise Server 12 SP5 | MozillaFirefox | 0 | 78.12.0-112.65.1 |
| SUSE:Linux Enterprise Server 15 SP1-BCL | MozillaFirefox | 0 | 78.12.0-3.147.1 |
| SUSE:Linux Enterprise Server 15 SP1-LTSS | MozillaFirefox | 0 | 78.12.0-3.147.1 |
| SUSE:Linux Enterprise Server 15-LTSS | MozillaFirefox | 0 | 78.12.0-3.147.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | MozillaFirefox | 0 | 78.12.0-112.65.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP4 | MozillaFirefox | 0 | 78.12.0-112.65.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | MozillaFirefox | 0 | 78.12.0-112.65.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 | MozillaFirefox | 0 | 78.12.0-3.147.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP1 | MozillaFirefox | 0 | 78.12.0-3.147.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | MozillaFirefox | 0 | 78.12.0-112.65.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP2 | MozillaThunderbird | 0 | 78.12.0-8.33.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP3 | MozillaThunderbird | 0 | 78.12.0-8.33.1 |
| SUSE:Manager Proxy 4.0 | MozillaFirefox | 0 | 78.12.0-3.147.1 |
| SUSE:Manager Retail Branch Server 4.0 | MozillaFirefox | 0 | 78.12.0-3.147.1 |
| SUSE:Manager Server 4.0 | MozillaFirefox | 0 | 78.12.0-3.147.1 |
| SUSE:OpenStack Cloud 8 | MozillaFirefox | 0 | 78.12.0-112.65.1 |
| SUSE:OpenStack Cloud 9 | MozillaFirefox | 0 | 78.12.0-112.65.1 |
| SUSE:OpenStack Cloud Crowbar 8 | MozillaFirefox | 0 | 78.12.0-112.65.1 |
| SUSE:OpenStack Cloud Crowbar 9 | MozillaFirefox | 0 | 78.12.0-112.65.1 |
| Ubuntu:18.04:LTS | firefox | 0 | 90.0+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:78.13.0+build1-0ubuntu0.18.04.1 |
| Ubuntu:20.04:LTS | firefox | 0 | 90.0+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:78.13.0+build1-0ubuntu0.20.04.2 |
| Ubuntu:22.04:LTS | mozjs78 | 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 |
| openSUSE:Leap 15.2 | MozillaFirefox | 0 | 78.12.0-lp152.2.61.1 |
| openSUSE:Leap 15.2 | MozillaThunderbird | 0 | 78.12.0-lp152.2.48.2 |
| openSUSE:Leap 15.3 | MozillaFirefox | 0 | 78.12.0-8.46.1 |
| openSUSE:Leap 15.3 | MozillaThunderbird | 0 | 78.12.0-8.33.1 |
| openSUSE:Tumbleweed | MozillaFirefox | 0 | 92.0-1.2 |
| openSUSE:Tumbleweed | MozillaThunderbird | 0 | 91.1.1-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