CVE-2024-0747
Medium · 6.5CVSS
6.5
EPSS
0.6%
Published
Jan 23, 2024
CISA due date
—
Cloudanix analysis
A browser issue let one webpage ignore security protections on another page shown inside it, allowing unwanted code to run.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Data Tampering
- Component
- Application
- Class
- Authorization Bypass
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
A parent page's Content Security Policy can override a child iframe's CSP when unsafe-inline is present, allowing the parent policy to dictate script execution rules for the child frame and bypassing intended restrictions on inline code.
Why it matters to the business
Attackers may inject and execute unauthorized scripts in web content viewed by users, leading to integrity violations, potential data manipulation, or follow-on attacks without user interaction beyond normal browsing.
How an attack unfolds
An attacker hosts a parent page containing an iframe that loads attacker-controlled content. The parent's CSP includes unsafe-inline, which due to the flaw overrides the child's stricter policy, permitting execution of malicious inline scripts that would otherwise be blocked.
How to fix it
Upgrade Firefox to version 122 or later, Firefox ESR to 115.7 or later, and Thunderbird to 115.7 or later. Apply vendor patches promptly; no configuration workaround fully mitigates the issue.
How to confirm the fix worked
Confirm browser versions meet or exceed the fixed releases listed by the vendor. Test CSP behavior with parent-child iframe scenarios using unsafe-inline to verify policy isolation is enforced.
Typical attack path
- Attacker prepares a parent webpage embedding a target iframe with unsafe-inline in its CSP
- Victim browser loads the parent page, triggering the flawed CSP inheritance to the child frame
- Malicious inline scripts execute in the child context despite the child's intended CSP
- Attacker achieves script execution for data exfiltration or further exploitation
How to detect it
Review browser process logs and CSP violation reports for unexpected policy overrides in iframe contexts; examine network captures for parent pages serving CSP headers with unsafe-inline alongside child frames.
What your security team should do
- Prioritize browser updates across all endpoints given the remote attack vector and integrity impact
- Monitor vendor advisories for any related CSP or iframe handling changes
- Review web application CSP deployments to reduce reliance on unsafe-inline where possible
The record
When a parent page loaded a child in an iframe with `unsafe-inline`, the parent Content Security Policy could have overridden the child Content Security Policy. This vulnerability affects Firefox < 122, Firefox ESR < 115.7, and Thunderbird < 115.7.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | firefox | 0 | 115.7.0-1.el8_9.alma.1 |
| AlmaLinux:8 | thunderbird | 0 | 115.7.0-1.el8_9.alma.1 |
| AlmaLinux:9 | firefox | 0 | 115.7.0-1.el9_3.alma |
| AlmaLinux:9 | firefox-x11 | 0 | 115.7.0-1.el9_3.alma |
| AlmaLinux:9 | thunderbird | 0 | 115.7.0-1.el9_3.alma |
| Debian:10 | firefox-esr | 0 | 115.7.0esr-1~deb10u1 |
| Debian:10 | thunderbird | 0 | 1:115.7.0-1~deb10u1 |
| Debian:11 | firefox-esr | 0 | 115.7.0esr-1~deb11u1 |
| Debian:11 | thunderbird | 0 | 1:115.7.0-1~deb11u1 |
| Debian:12 | firefox-esr | 0 | 115.7.0esr-1~deb12u1 |
| Debian:12 | thunderbird | 0 | 1:115.7.0-1~deb12u1 |
| Debian:13 | firefox-esr | 0 | 115.7.0esr-1 |
| Debian:13 | thunderbird | 0 | 1:115.7.0-1 |
| Mageia:9 | firefox | 0 | 115.7.0-1.mga9 |
| Mageia:9 | firefox-l10n | 0 | 115.7.0-1.mga9 |
| Mageia:9 | nss | 0 | 3.97.0-1.mga9 |
| Mageia:9 | thunderbird | 0 | 115.7.0-1.mga9 |
| Mageia:9 | thunderbird-l10n | 0 | 115.7.0-1.mga9 |
| Red Hat:enterprise_linux:7::client | firefox | 0 | 0:115.7.0-1.el7_9 |
| Red Hat:enterprise_linux:7::client | firefox-debuginfo | 0 | 0:115.7.0-1.el7_9 |
| Red Hat:enterprise_linux:7::client | thunderbird | 0 | 0:115.7.0-1.el7_9 |
| Red Hat:enterprise_linux:7::client | thunderbird-debuginfo | 0 | 0:115.7.0-1.el7_9 |
| Red Hat:enterprise_linux:7::server | firefox | 0 | 0:115.7.0-1.el7_9 |
| Red Hat:enterprise_linux:7::server | firefox-debuginfo | 0 | 0:115.7.0-1.el7_9 |
| Red Hat:enterprise_linux:7::server | thunderbird | 0 | 0:115.7.0-1.el7_9 |
| Red Hat:enterprise_linux:7::server | thunderbird-debuginfo | 0 | 0:115.7.0-1.el7_9 |
| Red Hat:enterprise_linux:7::workstation | firefox | 0 | 0:115.7.0-1.el7_9 |
| Red Hat:enterprise_linux:7::workstation | firefox-debuginfo | 0 | 0:115.7.0-1.el7_9 |
| Red Hat:enterprise_linux:7::workstation | thunderbird | 0 | 0:115.7.0-1.el7_9 |
| Red Hat:enterprise_linux:7::workstation | thunderbird-debuginfo | 0 | 0:115.7.0-1.el7_9 |
| Red Hat:enterprise_linux:8::appstream | firefox | 0 | 0:115.7.0-1.el8_9 |
| Red Hat:enterprise_linux:8::appstream | firefox-debuginfo | 0 | 0:115.7.0-1.el8_9 |
| Red Hat:enterprise_linux:8::appstream | firefox-debugsource | 0 | 0:115.7.0-1.el8_9 |
| Red Hat:enterprise_linux:8::appstream | thunderbird | 0 | 0:115.7.0-1.el8_9 |
| Red Hat:enterprise_linux:8::appstream | thunderbird-debuginfo | 0 | 0:115.7.0-1.el8_9 |
| Red Hat:enterprise_linux:8::appstream | thunderbird-debugsource | 0 | 0:115.7.0-1.el8_9 |
| Red Hat:enterprise_linux:9::appstream | firefox | 0 | 0:115.7.0-1.el9_3 |
| Red Hat:enterprise_linux:9::appstream | firefox-debuginfo | 0 | 0:115.7.0-1.el9_3 |
| Red Hat:enterprise_linux:9::appstream | firefox-debugsource | 0 | 0:115.7.0-1.el9_3 |
| Red Hat:enterprise_linux:9::appstream | firefox-x11 | 0 | 0:115.7.0-1.el9_3 |
| Red Hat:enterprise_linux:9::appstream | thunderbird | 0 | 0:115.7.0-1.el9_3 |
| Red Hat:enterprise_linux:9::appstream | thunderbird-debuginfo | 0 | 0:115.7.0-1.el9_3 |
| Red Hat:enterprise_linux:9::appstream | thunderbird-debugsource | 0 | 0:115.7.0-1.el9_3 |
| Red Hat:rhel_aus:8.2::appstream | firefox | 0 | 0:115.7.0-1.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | firefox-debuginfo | 0 | 0:115.7.0-1.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | firefox-debugsource | 0 | 0:115.7.0-1.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | thunderbird | 0 | 0:115.7.0-1.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | thunderbird-debuginfo | 0 | 0:115.7.0-1.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | thunderbird-debugsource | 0 | 0:115.7.0-1.el8_2 |
| Red Hat:rhel_aus:8.4::appstream | firefox | 0 | 0:115.7.0-1.el8_4 |
| Red Hat:rhel_aus:8.4::appstream | firefox-debuginfo | 0 | 0:115.7.0-1.el8_4 |
| Red Hat:rhel_aus:8.4::appstream | firefox-debugsource | 0 | 0:115.7.0-1.el8_4 |
| Red Hat:rhel_aus:8.4::appstream | thunderbird | 0 | 0:115.7.0-1.el8_4 |
| Red Hat:rhel_aus:8.4::appstream | thunderbird-debuginfo | 0 | 0:115.7.0-1.el8_4 |
| Red Hat:rhel_aus:8.4::appstream | thunderbird-debugsource | 0 | 0:115.7.0-1.el8_4 |
| Red Hat:rhel_e4s:8.2::appstream | firefox | 0 | 0:115.7.0-1.el8_2 |
| Red Hat:rhel_e4s:8.2::appstream | firefox-debuginfo | 0 | 0:115.7.0-1.el8_2 |
| Red Hat:rhel_e4s:8.2::appstream | firefox-debugsource | 0 | 0:115.7.0-1.el8_2 |
| Red Hat:rhel_e4s:8.2::appstream | thunderbird | 0 | 0:115.7.0-1.el8_2 |
| Red Hat:rhel_e4s:8.2::appstream | thunderbird-debuginfo | 0 | 0:115.7.0-1.el8_2 |
| Red Hat:rhel_e4s:8.2::appstream | thunderbird-debugsource | 0 | 0:115.7.0-1.el8_2 |
| Red Hat:rhel_e4s:8.4::appstream | firefox | 0 | 0:115.7.0-1.el8_4 |
| Red Hat:rhel_e4s:8.4::appstream | firefox-debuginfo | 0 | 0:115.7.0-1.el8_4 |
| Red Hat:rhel_e4s:8.4::appstream | firefox-debugsource | 0 | 0:115.7.0-1.el8_4 |
| Red Hat:rhel_e4s:8.4::appstream | thunderbird | 0 | 0:115.7.0-1.el8_4 |
| Red Hat:rhel_e4s:8.4::appstream | thunderbird-debuginfo | 0 | 0:115.7.0-1.el8_4 |
| Red Hat:rhel_e4s:8.4::appstream | thunderbird-debugsource | 0 | 0:115.7.0-1.el8_4 |
| Red Hat:rhel_eus:8.6::appstream | firefox | 0 | 0:115.7.0-1.el8_6 |
| Red Hat:rhel_eus:8.6::appstream | firefox-debuginfo | 0 | 0:115.7.0-1.el8_6 |
| Red Hat:rhel_eus:8.6::appstream | firefox-debugsource | 0 | 0:115.7.0-1.el8_6 |
| Red Hat:rhel_eus:8.6::appstream | thunderbird | 0 | 0:115.7.0-1.el8_6 |
| Red Hat:rhel_eus:8.6::appstream | thunderbird-debuginfo | 0 | 0:115.7.0-1.el8_6 |
| Red Hat:rhel_eus:8.6::appstream | thunderbird-debugsource | 0 | 0:115.7.0-1.el8_6 |
| Red Hat:rhel_eus:8.8::appstream | firefox | 0 | 0:115.7.0-1.el8_8 |
| Red Hat:rhel_eus:8.8::appstream | firefox-debuginfo | 0 | 0:115.7.0-1.el8_8 |
| Red Hat:rhel_eus:8.8::appstream | firefox-debugsource | 0 | 0:115.7.0-1.el8_8 |
| Red Hat:rhel_eus:8.8::appstream | thunderbird | 0 | 0:115.7.0-1.el8_8 |
| Red Hat:rhel_eus:8.8::appstream | thunderbird-debuginfo | 0 | 0:115.7.0-1.el8_8 |
| Red Hat:rhel_eus:8.8::appstream | thunderbird-debugsource | 0 | 0:115.7.0-1.el8_8 |
| Red Hat:rhel_eus:9.0::appstream | firefox | 0 | 0:115.7.0-1.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | firefox-debuginfo | 0 | 0:115.7.0-1.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | firefox-debugsource | 0 | 0:115.7.0-1.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | thunderbird | 0 | 0:115.7.0-1.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | thunderbird-debuginfo | 0 | 0:115.7.0-1.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | thunderbird-debugsource | 0 | 0:115.7.0-1.el9_0 |
| Red Hat:rhel_eus:9.2::appstream | firefox | 0 | 0:115.7.0-1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | firefox-debuginfo | 0 | 0:115.7.0-1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | firefox-debugsource | 0 | 0:115.7.0-1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | firefox-x11 | 0 | 0:115.7.0-1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | thunderbird | 0 | 0:115.7.0-1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | thunderbird-debuginfo | 0 | 0:115.7.0-1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | thunderbird-debugsource | 0 | 0:115.7.0-1.el9_2 |
| Red Hat:rhel_tus:8.2::appstream | firefox | 0 | 0:115.7.0-1.el8_2 |
| Red Hat:rhel_tus:8.2::appstream | firefox-debuginfo | 0 | 0:115.7.0-1.el8_2 |
| Red Hat:rhel_tus:8.2::appstream | firefox-debugsource | 0 | 0:115.7.0-1.el8_2 |
| Red Hat:rhel_tus:8.2::appstream | thunderbird | 0 | 0:115.7.0-1.el8_2 |
| Red Hat:rhel_tus:8.2::appstream | thunderbird-debuginfo | 0 | 0:115.7.0-1.el8_2 |
| Red Hat:rhel_tus:8.2::appstream | thunderbird-debugsource | 0 | 0:115.7.0-1.el8_2 |
| Red Hat:rhel_tus:8.4::appstream | firefox | 0 | 0:115.7.0-1.el8_4 |
| Red Hat:rhel_tus:8.4::appstream | firefox-debuginfo | 0 | 0:115.7.0-1.el8_4 |
| Red Hat:rhel_tus:8.4::appstream | firefox-debugsource | 0 | 0:115.7.0-1.el8_4 |
| Red Hat:rhel_tus:8.4::appstream | thunderbird | 0 | 0:115.7.0-1.el8_4 |
| Red Hat:rhel_tus:8.4::appstream | thunderbird-debuginfo | 0 | 0:115.7.0-1.el8_4 |
| Red Hat:rhel_tus:8.4::appstream | thunderbird-debugsource | 0 | 0:115.7.0-1.el8_4 |
| Rocky Linux:8 | firefox | 0 | 0:115.7.0-1.el8_9 |
| Rocky Linux:8 | thunderbird | 0 | 0:115.7.0-1.el8_9 |
| SUSE:Enterprise Storage 7.1 | MozillaFirefox | 0 | 115.7.0-150200.152.123.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS | MozillaFirefox | 0 | 115.7.0-150000.150.122.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | MozillaFirefox | 0 | 115.7.0-150200.152.123.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | MozillaFirefox | 0 | 115.7.0-150200.152.123.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | MozillaFirefox | 0 | 115.7.0-150200.152.123.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | MozillaFirefox | 0 | 115.7.0-150200.152.123.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP5 | MozillaFirefox | 0 | 115.7.0-150200.152.123.1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP5 | MozillaThunderbird | 0 | 115.7.0-150200.8.145.1 |
| SUSE:Linux Enterprise Server 12 SP5 | MozillaFirefox | 0 | 115.7.0-112.197.1 |
| SUSE:Linux Enterprise Server 15 SP1-LTSS | MozillaFirefox | 0 | 115.7.0-150000.150.122.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | MozillaFirefox | 0 | 115.7.0-150200.152.123.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | MozillaFirefox | 0 | 115.7.0-150200.152.123.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | MozillaFirefox | 0 | 115.7.0-150200.152.123.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | MozillaFirefox | 0 | 115.7.0-112.197.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP1 | MozillaFirefox | 0 | 115.7.0-150000.150.122.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | MozillaFirefox | 0 | 115.7.0-150200.152.123.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | MozillaFirefox | 0 | 115.7.0-150200.152.123.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | MozillaFirefox | 0 | 115.7.0-150200.152.123.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | MozillaFirefox | 0 | 115.7.0-112.197.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP5 | MozillaThunderbird | 0 | 115.7.0-150200.8.145.1 |
| Ubuntu:18.04:LTS | mozjs38 | 0 | No fix |
| Ubuntu:18.04:LTS | mozjs52 | 0 | No fix |
| Ubuntu:20.04:LTS | firefox | 0 | 122.0+build2-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:115.8.1+build1-0ubuntu0.20.04.1 |
| 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:115.8.1+build1-0ubuntu0.22.04.1 |
| Ubuntu:23.10 | thunderbird | 0 | 1:115.8.1+build1-0ubuntu0.23.10.1 |
| Ubuntu:24.04:LTS | mozjs102 | 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 |
| Ubuntu:Pro:24.04:LTS | mozjs102 | 0 | No fix |
| openSUSE:Leap 15.5 | MozillaFirefox | 0 | 115.7.0-150200.152.123.1 |
| openSUSE:Leap 15.5 | MozillaThunderbird | 0 | 115.7.0-150200.8.145.1 |
| openSUSE:Tumbleweed | MozillaFirefox | 0 | 122.0-1.1 |
| openSUSE:Tumbleweed | MozillaThunderbird | 0 | 115.7.0-1.1 |
| openSUSE:Tumbleweed | firefox-esr | 0 | 128.5.1-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