CVE-2024-8385
Critical · 9.8CVSS
9.8
EPSS
0.6%
Published
Sep 3, 2024
CISA due date
—
Cloudanix analysis
A bug in how certain web code runs inside browsers can let attackers take control of a computer simply by getting someone to visit a harmful webpage.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Moderate
- Impact
- Remote Code Execution
- Component
- Application
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Difference in handling of StructFields versus ArrayTypes within WASM triggers type confusion that corrupts memory state and enables arbitrary code execution.
Why it matters to the business
Successful exploitation on widely deployed browsers can result in full system compromise, credential theft, or lateral movement; high ecosystem prevalence amplifies organizational exposure even though the issue is not currently tracked in KEV.
How an attack unfolds
An attacker crafts a malicious WASM module that exercises the StructFields/ArrayTypes discrepancy; when the victim browser processes the module, type confusion occurs, memory is corrupted, and control flow is hijacked to run attacker-supplied code. The technique has appeared in 2024 zero-day campaigns conducted by espionage and financially motivated actors.
How to fix it
Update Firefox to 130 or newer, Firefox ESR to 128.2 or newer, and Thunderbird to 128.2 or newer; organizations using github.com/theupdateframework/go-tuf must upgrade to version 0.3.0.
How to confirm the fix worked
Verify installed product versions against the fixed releases above and confirm that WASM modules containing mixed StructFields and ArrayTypes no longer cause type-confusion crashes.
Typical attack path
- Host a malicious webpage containing a crafted WASM payload
- Victim browser loads and validates the WASM module
- StructFields/ArrayTypes mismatch triggers type confusion
- Memory corruption is leveraged for code execution
- Attacker payload establishes persistence or exfiltrates data
How to detect it
Review browser process crash logs and WASM validation failures for indicators of type confusion; correlate with known 2024 zero-day campaign patterns and monitor network traffic for unexpected WASM downloads from untrusted domains.
What your security team should do
- Apply the listed browser and go-tuf updates within 48 hours
- Block untrusted WASM execution via content-security policy where feasible
- Hunt for exploitation artifacts using the supplied detection guidance
- Track EPSS and threat-actor reporting for any future rise in activity
The record
A difference in the handling of StructFields and ArrayTypes in WASM could be used to trigger an exploitable type confusion vulnerability. This vulnerability affects Firefox < 130, Firefox ESR < 128.2, and Thunderbird < 128.2.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | firefox | 0 | 128.2.0-1.el8_10.alma.1 |
| AlmaLinux:8 | thunderbird | 0 | 128.2.0-1.el8_10.alma.1 |
| AlmaLinux:9 | firefox | 0 | 128.2.0-1.el9_4.alma.1 |
| AlmaLinux:9 | firefox-x11 | 0 | 128.2.0-1.el9_4.alma.1 |
| AlmaLinux:9 | thunderbird | 0 | 128.2.0-1.el9_4.alma.1 |
| Chainguard | firefox | 0 | 130.0-r0 |
| Chainguard | firefox-esr | 0 | 128.2.0-r0 |
| Debian:13 | thunderbird | 0 | 1:128.2.0esr-1 |
| Mageia:9 | firefox | 0 | 128.3.0-1.mga9 |
| Mageia:9 | firefox | 0 | 128.3.1-3.mga9 |
| Mageia:9 | firefox-l10n | 0 | 128.3.0-1.mga9 |
| Mageia:9 | nss | 0 | 3.105.0-1.mga9 |
| Mageia:9 | rootcerts | 0 | 20240823.00-1.mga9 |
| Mageia:9 | thunderbird | 0 | 128.3.0-1.mga9 |
| Mageia:9 | thunderbird-l10n | 0 | 128.3.0-1.mga9 |
| Red Hat:enterprise_linux:8::appstream | firefox | 0 | 0:128.2.0-1.el8_10 |
| Red Hat:enterprise_linux:8::appstream | firefox-debuginfo | 0 | 0:128.2.0-1.el8_10 |
| Red Hat:enterprise_linux:8::appstream | firefox-debugsource | 0 | 0:128.2.0-1.el8_10 |
| Red Hat:enterprise_linux:8::appstream | thunderbird | 0 | 0:128.2.0-1.el8_10 |
| Red Hat:enterprise_linux:8::appstream | thunderbird-debuginfo | 0 | 0:128.2.0-1.el8_10 |
| Red Hat:enterprise_linux:8::appstream | thunderbird-debugsource | 0 | 0:128.2.0-1.el8_10 |
| Red Hat:enterprise_linux:9::appstream | firefox | 0 | 0:128.2.0-1.el9_4 |
| Red Hat:enterprise_linux:9::appstream | firefox-debuginfo | 0 | 0:128.2.0-1.el9_4 |
| Red Hat:enterprise_linux:9::appstream | firefox-debugsource | 0 | 0:128.2.0-1.el9_4 |
| Red Hat:enterprise_linux:9::appstream | firefox-x11 | 0 | 0:128.2.0-1.el9_4 |
| Red Hat:enterprise_linux:9::appstream | thunderbird | 0 | 0:128.2.0-1.el9_4 |
| Red Hat:enterprise_linux:9::appstream | thunderbird-debuginfo | 0 | 0:128.2.0-1.el9_4 |
| Red Hat:enterprise_linux:9::appstream | thunderbird-debugsource | 0 | 0:128.2.0-1.el9_4 |
| Red Hat:rhel_aus:8.2::appstream | thunderbird | 0 | 0:128.2.0-1.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | thunderbird-debuginfo | 0 | 0:128.2.0-1.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | thunderbird-debugsource | 0 | 0:128.2.0-1.el8_2 |
| Red Hat:rhel_aus:8.4::appstream | firefox | 0 | 0:128.2.0-1.el8_4 |
| Red Hat:rhel_aus:8.4::appstream | firefox-debuginfo | 0 | 0:128.2.0-1.el8_4 |
| Red Hat:rhel_aus:8.4::appstream | firefox-debugsource | 0 | 0:128.2.0-1.el8_4 |
| Red Hat:rhel_aus:8.4::appstream | thunderbird | 0 | 0:128.2.0-1.el8_4 |
| Red Hat:rhel_aus:8.4::appstream | thunderbird-debuginfo | 0 | 0:128.2.0-1.el8_4 |
| Red Hat:rhel_aus:8.4::appstream | thunderbird-debugsource | 0 | 0:128.2.0-1.el8_4 |
| Red Hat:rhel_aus:8.6::appstream | firefox | 0 | 0:128.2.0-1.el8_6 |
| Red Hat:rhel_aus:8.6::appstream | firefox-debuginfo | 0 | 0:128.2.0-1.el8_6 |
| Red Hat:rhel_aus:8.6::appstream | firefox-debugsource | 0 | 0:128.2.0-1.el8_6 |
| Red Hat:rhel_e4s:8.4::appstream | firefox | 0 | 0:128.2.0-1.el8_4 |
| Red Hat:rhel_e4s:8.4::appstream | firefox-debuginfo | 0 | 0:128.2.0-1.el8_4 |
| Red Hat:rhel_e4s:8.4::appstream | firefox-debugsource | 0 | 0:128.2.0-1.el8_4 |
| Red Hat:rhel_e4s:8.4::appstream | thunderbird | 0 | 0:128.2.0-1.el8_4 |
| Red Hat:rhel_e4s:8.4::appstream | thunderbird-debuginfo | 0 | 0:128.2.0-1.el8_4 |
| Red Hat:rhel_e4s:8.4::appstream | thunderbird-debugsource | 0 | 0:128.2.0-1.el8_4 |
| Red Hat:rhel_e4s:8.6::appstream | firefox | 0 | 0:128.2.0-1.el8_6 |
| Red Hat:rhel_e4s:8.6::appstream | firefox-debuginfo | 0 | 0:128.2.0-1.el8_6 |
| Red Hat:rhel_e4s:8.6::appstream | firefox-debugsource | 0 | 0:128.2.0-1.el8_6 |
| Red Hat:rhel_e4s:9.0::appstream | thunderbird | 0 | 0:128.2.0-1.el9_0 |
| Red Hat:rhel_e4s:9.0::appstream | thunderbird-debuginfo | 0 | 0:128.2.0-1.el9_0 |
| Red Hat:rhel_e4s:9.0::appstream | thunderbird-debugsource | 0 | 0:128.2.0-1.el9_0 |
| Red Hat:rhel_els:7 | firefox | 0 | 0:128.2.0-1.el7_9 |
| Red Hat:rhel_els:7 | firefox-debuginfo | 0 | 0:128.2.0-1.el7_9 |
| Red Hat:rhel_eus:8.8::appstream | thunderbird | 0 | 0:128.2.0-1.el8_8 |
| Red Hat:rhel_eus:8.8::appstream | thunderbird-debuginfo | 0 | 0:128.2.0-1.el8_8 |
| Red Hat:rhel_eus:8.8::appstream | thunderbird-debugsource | 0 | 0:128.2.0-1.el8_8 |
| Red Hat:rhel_eus:9.2::appstream | thunderbird | 0 | 0:128.2.0-1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | thunderbird-debuginfo | 0 | 0:128.2.0-1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | thunderbird-debugsource | 0 | 0:128.2.0-1.el9_2 |
| Red Hat:rhel_tus:8.4::appstream | firefox | 0 | 0:128.2.0-1.el8_4 |
| Red Hat:rhel_tus:8.4::appstream | firefox-debuginfo | 0 | 0:128.2.0-1.el8_4 |
| Red Hat:rhel_tus:8.4::appstream | firefox-debugsource | 0 | 0:128.2.0-1.el8_4 |
| Red Hat:rhel_tus:8.4::appstream | thunderbird | 0 | 0:128.2.0-1.el8_4 |
| Red Hat:rhel_tus:8.4::appstream | thunderbird-debuginfo | 0 | 0:128.2.0-1.el8_4 |
| Red Hat:rhel_tus:8.4::appstream | thunderbird-debugsource | 0 | 0:128.2.0-1.el8_4 |
| Red Hat:rhel_tus:8.6::appstream | firefox | 0 | 0:128.2.0-1.el8_6 |
| Red Hat:rhel_tus:8.6::appstream | firefox-debuginfo | 0 | 0:128.2.0-1.el8_6 |
| Red Hat:rhel_tus:8.6::appstream | firefox-debugsource | 0 | 0:128.2.0-1.el8_6 |
| Red Hat:rhel_tus:8.6::appstream | thunderbird | 0 | 0:128.2.0-1.el8_6 |
| Red Hat:rhel_tus:8.6::appstream | thunderbird-debuginfo | 0 | 0:128.2.0-1.el8_6 |
| Red Hat:rhel_tus:8.6::appstream | thunderbird-debugsource | 0 | 0:128.2.0-1.el8_6 |
| Rocky Linux:8 | firefox | 0 | 0:128.2.0-1.el8_10 |
| Rocky Linux:8 | thunderbird | 0 | 0:128.2.0-1.el8_10 |
| Rocky Linux:9 | firefox | 0 | 0:128.2.0-1.el9_4.0.1 |
| Rocky Linux:9 | thunderbird | 0 | 0:128.2.0-1.el9_4.0.1 |
| SUSE:Enterprise Storage 7.1 | MozillaFirefox | 0 | 128.2.0-150200.152.149.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | MozillaFirefox | 0 | 128.2.0-150200.152.149.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | MozillaFirefox | 0 | 128.2.0-150200.152.149.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | MozillaFirefox | 0 | 128.2.0-150200.152.149.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | MozillaFirefox | 0 | 128.2.0-150200.152.149.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP5 | MozillaFirefox | 0 | 128.2.0-150200.152.149.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP6 | MozillaFirefox | 0 | 128.2.0-150200.152.149.1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP5 | MozillaThunderbird | 0 | 128.2.3-150200.8.177.1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP6 | MozillaThunderbird | 0 | 128.2.3-150200.8.177.1 |
| SUSE:Linux Enterprise Server 12 SP5 | MozillaFirefox | 0 | 128.2.0-112.225.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | MozillaFirefox | 0 | 128.2.0-150200.152.149.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | MozillaFirefox | 0 | 128.2.0-150200.152.149.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | MozillaFirefox | 0 | 128.2.0-150200.152.149.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | MozillaFirefox | 0 | 128.2.0-112.225.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | MozillaFirefox | 0 | 128.2.0-150200.152.149.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | MozillaFirefox | 0 | 128.2.0-150200.152.149.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | MozillaFirefox | 0 | 128.2.0-150200.152.149.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | MozillaFirefox | 0 | 128.2.0-112.225.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP5 | MozillaThunderbird | 0 | 128.2.3-150200.8.177.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP6 | MozillaThunderbird | 0 | 128.2.3-150200.8.177.1 |
| Ubuntu:18.04:LTS | mozjs38 | 0 | No fix |
| Ubuntu:18.04:LTS | mozjs52 | 0 | No fix |
| Ubuntu:20.04:LTS | firefox | 0 | 130.0+build2-0ubuntu0.20.04.1 |
| Ubuntu:20.04:LTS | mozjs52 | 0 | No fix |
| Ubuntu:20.04:LTS | mozjs68 | 0 | No fix |
| 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:24.04:LTS | mozjs102 | 0 | No fix |
| Ubuntu:24.04:LTS | mozjs115 | 0 | No fix |
| Ubuntu:24.10 | mozjs115 | 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 |
| Wolfi | firefox | 0 | 130.0-r0 |
| openSUSE:Leap 15.5 | MozillaFirefox | 0 | 128.2.0-150200.152.149.1 |
| openSUSE:Leap 15.5 | MozillaThunderbird | 0 | 128.2.3-150200.8.177.1 |
| openSUSE:Leap 15.6 | MozillaFirefox | 0 | 128.2.0-150200.152.149.1 |
| openSUSE:Leap 15.6 | MozillaThunderbird | 0 | 128.2.3-150200.8.177.1 |
| openSUSE:Tumbleweed | MozillaFirefox | 0 | 130.0.1-1.1 |
| openSUSE:Tumbleweed | firefox-esr | 0 | 128.5.1-1.1 |
| openSUSE:Tumbleweed | mozjs128 | 0 | 128.2.0-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