CVE-2024-10460
Medium · 5.3CVSS
5.3
EPSS
0.3%
Published
Oct 29, 2024
CISA due date
—
Cloudanix analysis
A flaw in the browser could let a malicious website trick people into approving the launch of external programs without showing where the request really came from.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Moderate
- Impact
- Other
- Component
- Application
- Class
- Improper Input Validation
- Remediation
- Upgrade
- Effort
- Low
- Patch risk
- Low
What it actually does
An attacker can embed a data: URL in an iframe to hide the true origin of an external protocol handler prompt, allowing the prompt to appear to come from a trusted source instead of the actual malicious page.
Why it matters to the business
Users may be tricked into approving protocol handlers that launch attacker-controlled applications, increasing the chance of malware execution, credential theft, or unauthorized system access across the organization.
How an attack unfolds
An attacker hosts a malicious page containing an iframe with a data: URL that triggers an external protocol prompt. The obscured origin leads the user to believe the request is legitimate, resulting in the user approving the handler and allowing the attacker to invoke external applications or handlers.
How to fix it
Upgrade Firefox to version 132 or later, Firefox ESR to 128.4 or later, and Thunderbird to 128.4 or later (or 132 or later where applicable). Apply updates immediately across all managed endpoints and verify that auto-update mechanisms are enabled.
How to confirm the fix worked
Confirm that all instances of Firefox and Thunderbird report versions at or above the fixed releases. Test by loading a data: URL iframe in an updated browser and verify the origin is no longer obscured in the protocol prompt.
Typical attack path
- Attacker crafts a web page with an iframe using a data: URL that invokes an external protocol handler prompt.
- Victim visits the attacker-controlled page via phishing, compromised site, or drive-by download.
- The prompt appears without revealing the malicious origin, leading the user to approve it.
- The approved protocol handler executes attacker-supplied content or launches malicious external applications.
How to detect it
Review browser security and error logs for repeated or unusual external protocol handler prompts originating from data: URLs. Correlate with user reports of unexpected application launches after visiting web pages.
What your security team should do
- Deploy browser and email client updates to all endpoints within the next 48 hours.
- Disable unnecessary external protocol handlers via enterprise policy where possible.
- Monitor user reports of unexpected protocol prompts and investigate any approvals.
- Include browser version checks in endpoint compliance scans.
The record
The origin of an external protocol handler prompt could have been obscured using a data: URL within an `iframe`. This vulnerability affects Firefox < 132, Firefox ESR < 128.4, Thunderbird < 128.4, and Thunderbird < 132.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | firefox | 0 | 128.4.0-1.el8_10 |
| AlmaLinux:8 | thunderbird | 0 | 128.4.0-1.el8_10.alma.1 |
| AlmaLinux:9 | firefox | 0 | 128.4.0-1.el9_4 |
| AlmaLinux:9 | firefox | 0 | 128.4.0-1.el9_5 |
| AlmaLinux:9 | firefox-x11 | 0 | 128.4.0-1.el9_4 |
| AlmaLinux:9 | firefox-x11 | 0 | 128.4.0-1.el9_5 |
| AlmaLinux:9 | thunderbird | 0 | 128.4.0-1.el9_4.alma.1 |
| AlmaLinux:9 | thunderbird | 0 | 128.4.0-1.el9_5.alma.1 |
| Chainguard | firefox | 0 | 132.0-r0 |
| Chainguard | firefox-esr | 0 | 128.4.0-r0 |
| Debian:11 | firefox-esr | 0 | 128.4.0esr-1~deb11u1 |
| Debian:11 | thunderbird | 0 | No fix |
| Debian:11 | thunderbird | 0 | 1:128.4.0esr-1~deb11u1 |
| Debian:12 | firefox-esr | 0 | 128.4.0esr-1~deb12u1 |
| Debian:12 | thunderbird | 0 | No fix |
| Debian:12 | thunderbird | 0 | 1:128.4.0esr-1~deb12u1 |
| Debian:13 | firefox-esr | 0 | No fix |
| Debian:13 | thunderbird | 0 | No fix |
| Debian:13 | thunderbird | 0 | 1:128.4.0esr-1 |
| Mageia:9 | firefox | 0 | 128.4.0-1.mga9 |
| Mageia:9 | firefox-l10n | 0 | 128.4.0-1.mga9 |
| Mageia:9 | nspr | 0 | 4.36-1.mga9 |
| Mageia:9 | nss | 0 | 3.106.0-1.mga9 |
| Mageia:9 | rust | 0 | 1.76.0-3.mga9 |
| Mageia:9 | thunderbird | 0 | 128.4.0-1.mga9 |
| Mageia:9 | thunderbird-l10n | 0 | 128.4.0-1.mga9 |
| Red Hat:enterprise_linux:8::appstream | firefox | 0 | 0:128.4.0-1.el8_10 |
| Red Hat:enterprise_linux:8::appstream | firefox-debuginfo | 0 | 0:128.4.0-1.el8_10 |
| Red Hat:enterprise_linux:8::appstream | firefox-debugsource | 0 | 0:128.4.0-1.el8_10 |
| Red Hat:enterprise_linux:8::appstream | thunderbird | 0 | 0:128.4.0-1.el8_10 |
| Red Hat:enterprise_linux:8::appstream | thunderbird-debuginfo | 0 | 0:128.4.0-1.el8_10 |
| Red Hat:enterprise_linux:8::appstream | thunderbird-debugsource | 0 | 0:128.4.0-1.el8_10 |
| Red Hat:enterprise_linux:9::appstream | firefox | 0 | 0:128.4.0-1.el9_4 |
| Red Hat:enterprise_linux:9::appstream | firefox | 0 | 0:128.4.0-1.el9_5 |
| Red Hat:enterprise_linux:9::appstream | firefox-debuginfo | 0 | 0:128.4.0-1.el9_4 |
| Red Hat:enterprise_linux:9::appstream | firefox-debuginfo | 0 | 0:128.4.0-1.el9_5 |
| Red Hat:enterprise_linux:9::appstream | firefox-debugsource | 0 | 0:128.4.0-1.el9_4 |
| Red Hat:enterprise_linux:9::appstream | firefox-debugsource | 0 | 0:128.4.0-1.el9_5 |
| Red Hat:enterprise_linux:9::appstream | firefox-x11 | 0 | 0:128.4.0-1.el9_4 |
| Red Hat:enterprise_linux:9::appstream | firefox-x11 | 0 | 0:128.4.0-1.el9_5 |
| Red Hat:enterprise_linux:9::appstream | thunderbird | 0 | 0:128.4.0-1.el9_4 |
| Red Hat:enterprise_linux:9::appstream | thunderbird | 0 | 0:128.4.0-1.el9_5 |
| Red Hat:enterprise_linux:9::appstream | thunderbird-debuginfo | 0 | 0:128.4.0-1.el9_4 |
| Red Hat:enterprise_linux:9::appstream | thunderbird-debuginfo | 0 | 0:128.4.0-1.el9_5 |
| Red Hat:enterprise_linux:9::appstream | thunderbird-debugsource | 0 | 0:128.4.0-1.el9_4 |
| Red Hat:enterprise_linux:9::appstream | thunderbird-debugsource | 0 | 0:128.4.0-1.el9_5 |
| Red Hat:rhel_aus:8.2::appstream | firefox | 0 | 0:128.4.0-1.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | firefox-debuginfo | 0 | 0:128.4.0-1.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | firefox-debugsource | 0 | 0:128.4.0-1.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | thunderbird | 0 | 0:128.4.0-1.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | thunderbird-debuginfo | 0 | 0:128.4.0-1.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | thunderbird-debugsource | 0 | 0:128.4.0-1.el8_2 |
| Red Hat:rhel_aus:8.4::appstream | firefox | 0 | 0:128.4.0-1.el8_4 |
| Red Hat:rhel_aus:8.4::appstream | firefox-debuginfo | 0 | 0:128.4.0-1.el8_4 |
| Red Hat:rhel_aus:8.4::appstream | firefox-debugsource | 0 | 0:128.4.0-1.el8_4 |
| Red Hat:rhel_aus:8.4::appstream | thunderbird | 0 | 0:128.4.0-1.el8_4 |
| Red Hat:rhel_aus:8.4::appstream | thunderbird-debuginfo | 0 | 0:128.4.0-1.el8_4 |
| Red Hat:rhel_aus:8.4::appstream | thunderbird-debugsource | 0 | 0:128.4.0-1.el8_4 |
| Red Hat:rhel_aus:8.6::appstream | firefox | 0 | 0:128.4.0-1.el8_6 |
| Red Hat:rhel_aus:8.6::appstream | firefox-debuginfo | 0 | 0:128.4.0-1.el8_6 |
| Red Hat:rhel_aus:8.6::appstream | firefox-debugsource | 0 | 0:128.4.0-1.el8_6 |
| Red Hat:rhel_aus:8.6::appstream | thunderbird | 0 | 0:128.4.0-1.el8_6 |
| Red Hat:rhel_aus:8.6::appstream | thunderbird-debuginfo | 0 | 0:128.4.0-1.el8_6 |
| Red Hat:rhel_aus:8.6::appstream | thunderbird-debugsource | 0 | 0:128.4.0-1.el8_6 |
| Red Hat:rhel_e4s:8.4::appstream | firefox | 0 | 0:128.4.0-1.el8_4 |
| Red Hat:rhel_e4s:8.4::appstream | firefox-debuginfo | 0 | 0:128.4.0-1.el8_4 |
| Red Hat:rhel_e4s:8.4::appstream | firefox-debugsource | 0 | 0:128.4.0-1.el8_4 |
| Red Hat:rhel_e4s:8.4::appstream | thunderbird | 0 | 0:128.4.0-1.el8_4 |
| Red Hat:rhel_e4s:8.4::appstream | thunderbird-debuginfo | 0 | 0:128.4.0-1.el8_4 |
| Red Hat:rhel_e4s:8.4::appstream | thunderbird-debugsource | 0 | 0:128.4.0-1.el8_4 |
| Red Hat:rhel_e4s:8.6::appstream | firefox | 0 | 0:128.4.0-1.el8_6 |
| Red Hat:rhel_e4s:8.6::appstream | firefox-debuginfo | 0 | 0:128.4.0-1.el8_6 |
| Red Hat:rhel_e4s:8.6::appstream | firefox-debugsource | 0 | 0:128.4.0-1.el8_6 |
| Red Hat:rhel_e4s:8.6::appstream | thunderbird | 0 | 0:128.4.0-1.el8_6 |
| Red Hat:rhel_e4s:8.6::appstream | thunderbird-debuginfo | 0 | 0:128.4.0-1.el8_6 |
| Red Hat:rhel_e4s:8.6::appstream | thunderbird-debugsource | 0 | 0:128.4.0-1.el8_6 |
| Red Hat:rhel_e4s:9.0::appstream | firefox | 0 | 0:128.4.0-1.el9_0 |
| Red Hat:rhel_e4s:9.0::appstream | firefox-debuginfo | 0 | 0:128.4.0-1.el9_0 |
| Red Hat:rhel_e4s:9.0::appstream | firefox-debugsource | 0 | 0:128.4.0-1.el9_0 |
| Red Hat:rhel_e4s:9.0::appstream | thunderbird | 0 | 0:128.4.0-1.el9_0 |
| Red Hat:rhel_e4s:9.0::appstream | thunderbird-debuginfo | 0 | 0:128.4.0-1.el9_0 |
| Red Hat:rhel_e4s:9.0::appstream | thunderbird-debugsource | 0 | 0:128.4.0-1.el9_0 |
| Red Hat:rhel_els:7 | firefox | 0 | 0:128.4.0-1.el7_9 |
| Red Hat:rhel_els:7 | firefox-debuginfo | 0 | 0:128.4.0-1.el7_9 |
| Red Hat:rhel_eus:8.8::appstream | firefox | 0 | 0:128.4.0-1.el8_8 |
| Red Hat:rhel_eus:8.8::appstream | firefox-debuginfo | 0 | 0:128.4.0-1.el8_8 |
| Red Hat:rhel_eus:8.8::appstream | firefox-debugsource | 0 | 0:128.4.0-1.el8_8 |
| Red Hat:rhel_eus:8.8::appstream | thunderbird | 0 | 0:128.4.0-1.el8_8 |
| Red Hat:rhel_eus:8.8::appstream | thunderbird-debuginfo | 0 | 0:128.4.0-1.el8_8 |
| Red Hat:rhel_eus:8.8::appstream | thunderbird-debugsource | 0 | 0:128.4.0-1.el8_8 |
| Red Hat:rhel_eus:9.2::appstream | firefox | 0 | 0:128.4.0-1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | firefox-debuginfo | 0 | 0:128.4.0-1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | firefox-debugsource | 0 | 0:128.4.0-1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | firefox-x11 | 0 | 0:128.4.0-1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | thunderbird | 0 | 0:128.4.0-1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | thunderbird-debuginfo | 0 | 0:128.4.0-1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | thunderbird-debugsource | 0 | 0:128.4.0-1.el9_2 |
| Red Hat:rhel_tus:8.4::appstream | firefox | 0 | 0:128.4.0-1.el8_4 |
| Red Hat:rhel_tus:8.4::appstream | firefox-debuginfo | 0 | 0:128.4.0-1.el8_4 |
| Red Hat:rhel_tus:8.4::appstream | firefox-debugsource | 0 | 0:128.4.0-1.el8_4 |
| Red Hat:rhel_tus:8.4::appstream | thunderbird | 0 | 0:128.4.0-1.el8_4 |
| Red Hat:rhel_tus:8.4::appstream | thunderbird-debuginfo | 0 | 0:128.4.0-1.el8_4 |
| Red Hat:rhel_tus:8.4::appstream | thunderbird-debugsource | 0 | 0:128.4.0-1.el8_4 |
| Red Hat:rhel_tus:8.6::appstream | firefox | 0 | 0:128.4.0-1.el8_6 |
| Red Hat:rhel_tus:8.6::appstream | firefox-debuginfo | 0 | 0:128.4.0-1.el8_6 |
| Red Hat:rhel_tus:8.6::appstream | firefox-debugsource | 0 | 0:128.4.0-1.el8_6 |
| Red Hat:rhel_tus:8.6::appstream | thunderbird | 0 | 0:128.4.0-1.el8_6 |
| Red Hat:rhel_tus:8.6::appstream | thunderbird-debuginfo | 0 | 0:128.4.0-1.el8_6 |
| Red Hat:rhel_tus:8.6::appstream | thunderbird-debugsource | 0 | 0:128.4.0-1.el8_6 |
| Rocky Linux:8 | firefox | 0 | 0:128.4.0-1.el8_10 |
| Rocky Linux:8 | thunderbird | 0 | 0:128.4.0-1.el8_10 |
| Rocky Linux:9 | firefox | 0 | 0:128.4.0-1.el9_4 |
| Rocky Linux:9 | thunderbird | 0 | 0:128.4.0-1.el9_4 |
| SUSE:Enterprise Storage 7.1 | MozillaFirefox | 0 | 128.4.0-150200.152.158.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | MozillaFirefox | 0 | 128.4.0-150200.152.158.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | MozillaFirefox | 0 | 128.4.0-150200.152.158.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | MozillaFirefox | 0 | 128.4.0-150200.152.158.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | MozillaFirefox | 0 | 128.4.0-150200.152.158.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP5 | MozillaFirefox | 0 | 128.4.0-150200.152.158.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP6 | MozillaFirefox | 0 | 128.4.0-150200.152.158.1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP5 | MozillaThunderbird | 0 | 128.4.3-150200.8.188.1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP6 | MozillaThunderbird | 0 | 128.4.3-150200.8.188.1 |
| SUSE:Linux Enterprise Server 12 SP5-LTSS | MozillaFirefox | 0 | 128.4.0-112.234.2 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | MozillaFirefox | 0 | 128.4.0-150200.152.158.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | MozillaFirefox | 0 | 128.4.0-150200.152.158.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | MozillaFirefox | 0 | 128.4.0-150200.152.158.1 |
| SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 | MozillaFirefox | 0 | 128.4.0-112.234.2 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | MozillaFirefox | 0 | 128.4.0-150200.152.158.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | MozillaFirefox | 0 | 128.4.0-150200.152.158.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | MozillaFirefox | 0 | 128.4.0-150200.152.158.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP5 | MozillaThunderbird | 0 | 128.4.3-150200.8.188.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP6 | MozillaThunderbird | 0 | 128.4.3-150200.8.188.1 |
| Ubuntu:18.04:LTS | mozjs38 | 0 | No fix |
| Ubuntu:18.04:LTS | mozjs52 | 0 | No fix |
| Ubuntu:20.04:LTS | firefox | 0 | 132.0+build1-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:22.04:LTS | thunderbird | 0 | 1:140.7.1+build1-0ubuntu0.22.04.1 |
| Ubuntu:24.04:LTS | mozjs102 | 0 | No fix |
| Ubuntu:24.04:LTS | mozjs115 | 0 | No fix |
| Ubuntu:24.10 | mozjs115 | 0 | No fix |
| Ubuntu:25.04 | 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 | 132.0-r0 |
| openSUSE:Leap 15.5 | MozillaFirefox | 0 | 128.4.0-150200.152.158.1 |
| openSUSE:Leap 15.5 | MozillaThunderbird | 0 | 128.4.3-150200.8.188.1 |
| openSUSE:Leap 15.6 | MozillaFirefox | 0 | 128.4.0-150200.152.158.1 |
| openSUSE:Leap 15.6 | MozillaThunderbird | 0 | 128.4.3-150200.8.188.1 |
| openSUSE:Tumbleweed | MozillaFirefox | 0 | 132.0.1-1.1 |
| openSUSE:Tumbleweed | MozillaThunderbird | 0 | 128.4.0-1.1 |
| openSUSE:Tumbleweed | firefox-esr | 0 | 128.5.1-1.1 |
| openSUSE:Tumbleweed | mozjs128 | 0 | 128.4.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