CVE-2024-9393
NoneCVSS
—
EPSS
0.4%
Published
Oct 1, 2024
CISA due date
—
Cloudanix analysis
A browser flaw could let attackers read private PDF files that users open, with mobile devices being most at risk.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Data Exposure
- Component
- Application
- Class
- XSS
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Specially crafted multipart responses allow arbitrary JavaScript execution under the resource://pdf.js origin, bypassing same-origin restrictions to read cross-origin PDF content; desktop Site Isolation limits scope to same-site documents while Android permits unrestricted cross-origin access.
Why it matters to the business
Attackers could silently exfiltrate sensitive PDF documents viewed in the browser, increasing risk of data leakage and compliance violations on mobile deployments; low exploit maturity and stable low EPSS reduce immediate urgency but mobile users remain exposed until patched.
How an attack unfolds
An attacker serving malicious content triggers a multipart response that causes pdf.js to execute attacker-controlled JavaScript; the script then fetches and exfiltrates cross-origin PDF data, with full success possible on Android clients.
How to fix it
Upgrade Firefox to 131 or later, Firefox ESR to 128.3 or 115.16 or later, and Thunderbird to 128.3 or 131 or later; apply patches immediately on Android devices where isolation is absent.
How to confirm the fix worked
Verify browser and ESR versions against the fixed releases; test PDF rendering with crafted multipart responses in a lab environment to confirm isolation enforcement.
Typical attack path
- Deliver malicious web content or response to victim browser
- Trigger multipart response handling in pdf.js
- Execute JavaScript under pdf.js origin
- Access and exfiltrate cross-origin PDF content
How to detect it
Review web proxy and browser logs for unusual multipart responses interacting with pdf.js; examine network traffic for unexpected JavaScript execution originating from resource://pdf.js when loading PDFs.
What your security team should do
- Prioritize patching all Android Firefox deployments within the next 48 hours
- Enforce automatic updates for desktop Firefox and Thunderbird instances
- Monitor for any new exploit maturity signals given the 740 days since publication
The record
An attacker could, via a specially crafted multipart response, execute arbitrary JavaScript under the `resource://pdf.js` origin. This could allow them to access cross-origin PDF content. This access is limited to "same site" documents by the Site Isolation feature on desktop clients, but full cross-origin access is possible on Android versions. This vulnerability affects Firefox < 131, Firefox ESR < 128.3, Firefox ESR < 115.16, Thunderbird < 128.3, and Thunderbird < 131.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | firefox | 0 | 128.3.0-1.el8_10.alma.1 |
| AlmaLinux:8 | thunderbird | 0 | 128.3.0-1.el8_10.alma.1 |
| AlmaLinux:9 | firefox | 0 | 128.3.0-1.el9_4.alma.1 |
| AlmaLinux:9 | firefox-x11 | 0 | 128.3.0-1.el9_4.alma.1 |
| AlmaLinux:9 | thunderbird | 0 | 128.3.0-1.el9_4.alma.1 |
| Chainguard | firefox | 0 | 136.0.2-r0 |
| Chainguard | firefox-esr | 0 | 128.3.0-r0 |
| Debian:11 | firefox-esr | 0 | No fix |
| Debian:11 | firefox-esr | 0 | 128.3.0esr-1~deb11u2 |
| Debian:11 | thunderbird | 0 | No fix |
| Debian:11 | thunderbird | 0 | 1:115.16.0esr-1~deb11u1 |
| Debian:12 | firefox-esr | 0 | No fix |
| Debian:12 | firefox-esr | 0 | 128.3.0esr-1~deb12u1 |
| Debian:12 | thunderbird | 0 | No fix |
| Debian:12 | thunderbird | 0 | 1:115.16.0esr-1~deb12u1 |
| Debian:13 | firefox-esr | 0 | No fix |
| Debian:13 | thunderbird | 0 | No fix |
| Red Hat:enterprise_linux:8::appstream | firefox | 0 | 0:128.3.0-1.el8_10 |
| Red Hat:enterprise_linux:8::appstream | firefox-debuginfo | 0 | 0:128.3.0-1.el8_10 |
| Red Hat:enterprise_linux:8::appstream | firefox-debugsource | 0 | 0:128.3.0-1.el8_10 |
| Red Hat:enterprise_linux:8::appstream | thunderbird | 0 | 0:128.3.0-1.el8_10 |
| Red Hat:enterprise_linux:8::appstream | thunderbird-debuginfo | 0 | 0:128.3.0-1.el8_10 |
| Red Hat:enterprise_linux:8::appstream | thunderbird-debugsource | 0 | 0:128.3.0-1.el8_10 |
| Red Hat:enterprise_linux:9::appstream | firefox | 0 | 0:128.3.0-1.el9_4 |
| Red Hat:enterprise_linux:9::appstream | firefox-debuginfo | 0 | 0:128.3.0-1.el9_4 |
| Red Hat:enterprise_linux:9::appstream | firefox-debugsource | 0 | 0:128.3.0-1.el9_4 |
| Red Hat:enterprise_linux:9::appstream | firefox-x11 | 0 | 0:128.3.0-1.el9_4 |
| Red Hat:enterprise_linux:9::appstream | thunderbird | 0 | 0:128.3.0-1.el9_4 |
| Red Hat:enterprise_linux:9::appstream | thunderbird-debuginfo | 0 | 0:128.3.0-1.el9_4 |
| Red Hat:enterprise_linux:9::appstream | thunderbird-debugsource | 0 | 0:128.3.0-1.el9_4 |
| Red Hat:rhel_aus:8.2::appstream | firefox | 0 | 0:128.3.0-1.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | firefox-debuginfo | 0 | 0:128.3.0-1.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | firefox-debugsource | 0 | 0:128.3.0-1.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | thunderbird | 0 | 0:128.3.0-1.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | thunderbird-debuginfo | 0 | 0:128.3.0-1.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | thunderbird-debugsource | 0 | 0:128.3.0-1.el8_2 |
| Red Hat:rhel_aus:8.4::appstream | firefox | 0 | 0:128.3.0-1.el8_4 |
| Red Hat:rhel_aus:8.4::appstream | firefox-debuginfo | 0 | 0:128.3.0-1.el8_4 |
| Red Hat:rhel_aus:8.4::appstream | firefox-debugsource | 0 | 0:128.3.0-1.el8_4 |
| Red Hat:rhel_aus:8.4::appstream | thunderbird | 0 | 0:128.3.0-1.el8_4 |
| Red Hat:rhel_aus:8.4::appstream | thunderbird-debuginfo | 0 | 0:128.3.0-1.el8_4 |
| Red Hat:rhel_aus:8.4::appstream | thunderbird-debugsource | 0 | 0:128.3.0-1.el8_4 |
| Red Hat:rhel_aus:8.6::appstream | firefox | 0 | 0:128.3.0-1.el8_6 |
| Red Hat:rhel_aus:8.6::appstream | firefox-debuginfo | 0 | 0:128.3.0-1.el8_6 |
| Red Hat:rhel_aus:8.6::appstream | firefox-debugsource | 0 | 0:128.3.0-1.el8_6 |
| Red Hat:rhel_aus:8.6::appstream | thunderbird | 0 | 0:128.3.0-1.el8_6 |
| Red Hat:rhel_aus:8.6::appstream | thunderbird-debuginfo | 0 | 0:128.3.0-1.el8_6 |
| Red Hat:rhel_aus:8.6::appstream | thunderbird-debugsource | 0 | 0:128.3.0-1.el8_6 |
| Red Hat:rhel_e4s:8.4::appstream | firefox | 0 | 0:128.3.0-1.el8_4 |
| Red Hat:rhel_e4s:8.4::appstream | firefox-debuginfo | 0 | 0:128.3.0-1.el8_4 |
| Red Hat:rhel_e4s:8.4::appstream | firefox-debugsource | 0 | 0:128.3.0-1.el8_4 |
| Red Hat:rhel_e4s:8.4::appstream | thunderbird | 0 | 0:128.3.0-1.el8_4 |
| Red Hat:rhel_e4s:8.4::appstream | thunderbird-debuginfo | 0 | 0:128.3.0-1.el8_4 |
| Red Hat:rhel_e4s:8.4::appstream | thunderbird-debugsource | 0 | 0:128.3.0-1.el8_4 |
| Red Hat:rhel_e4s:8.6::appstream | firefox | 0 | 0:128.3.0-1.el8_6 |
| Red Hat:rhel_e4s:8.6::appstream | firefox-debuginfo | 0 | 0:128.3.0-1.el8_6 |
| Red Hat:rhel_e4s:8.6::appstream | firefox-debugsource | 0 | 0:128.3.0-1.el8_6 |
| Red Hat:rhel_e4s:8.6::appstream | thunderbird | 0 | 0:128.3.0-1.el8_6 |
| Red Hat:rhel_e4s:8.6::appstream | thunderbird-debuginfo | 0 | 0:128.3.0-1.el8_6 |
| Red Hat:rhel_e4s:8.6::appstream | thunderbird-debugsource | 0 | 0:128.3.0-1.el8_6 |
| Red Hat:rhel_e4s:9.0::appstream | firefox | 0 | 0:128.3.0-1.el9_0 |
| Red Hat:rhel_e4s:9.0::appstream | firefox-debuginfo | 0 | 0:128.3.0-1.el9_0 |
| Red Hat:rhel_e4s:9.0::appstream | firefox-debugsource | 0 | 0:128.3.0-1.el9_0 |
| Red Hat:rhel_e4s:9.0::appstream | thunderbird | 0 | 0:128.3.0-1.el9_0 |
| Red Hat:rhel_e4s:9.0::appstream | thunderbird-debuginfo | 0 | 0:128.3.0-1.el9_0 |
| Red Hat:rhel_e4s:9.0::appstream | thunderbird-debugsource | 0 | 0:128.3.0-1.el9_0 |
| Red Hat:rhel_els:7 | firefox | 0 | 0:128.3.0-1.el7_9 |
| Red Hat:rhel_els:7 | firefox-debuginfo | 0 | 0:128.3.0-1.el7_9 |
| Red Hat:rhel_eus:8.8::appstream | firefox | 0 | 0:128.3.0-1.el8_8 |
| Red Hat:rhel_eus:8.8::appstream | firefox-debuginfo | 0 | 0:128.3.0-1.el8_8 |
| Red Hat:rhel_eus:8.8::appstream | firefox-debugsource | 0 | 0:128.3.0-1.el8_8 |
| Red Hat:rhel_eus:8.8::appstream | thunderbird | 0 | 0:128.3.1-1.el8_8 |
| Red Hat:rhel_eus:8.8::appstream | thunderbird-debuginfo | 0 | 0:128.3.1-1.el8_8 |
| Red Hat:rhel_eus:8.8::appstream | thunderbird-debugsource | 0 | 0:128.3.1-1.el8_8 |
| Red Hat:rhel_eus:9.2::appstream | firefox | 0 | 0:128.3.0-1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | firefox-debuginfo | 0 | 0:128.3.0-1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | firefox-debugsource | 0 | 0:128.3.0-1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | firefox-x11 | 0 | 0:128.3.0-1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | thunderbird | 0 | 0:128.3.0-1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | thunderbird-debuginfo | 0 | 0:128.3.0-1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | thunderbird-debugsource | 0 | 0:128.3.0-1.el9_2 |
| Red Hat:rhel_tus:8.4::appstream | firefox | 0 | 0:128.3.0-1.el8_4 |
| Red Hat:rhel_tus:8.4::appstream | firefox-debuginfo | 0 | 0:128.3.0-1.el8_4 |
| Red Hat:rhel_tus:8.4::appstream | firefox-debugsource | 0 | 0:128.3.0-1.el8_4 |
| Red Hat:rhel_tus:8.4::appstream | thunderbird | 0 | 0:128.3.0-1.el8_4 |
| Red Hat:rhel_tus:8.4::appstream | thunderbird-debuginfo | 0 | 0:128.3.0-1.el8_4 |
| Red Hat:rhel_tus:8.4::appstream | thunderbird-debugsource | 0 | 0:128.3.0-1.el8_4 |
| Red Hat:rhel_tus:8.6::appstream | firefox | 0 | 0:128.3.0-1.el8_6 |
| Red Hat:rhel_tus:8.6::appstream | firefox-debuginfo | 0 | 0:128.3.0-1.el8_6 |
| Red Hat:rhel_tus:8.6::appstream | firefox-debugsource | 0 | 0:128.3.0-1.el8_6 |
| Red Hat:rhel_tus:8.6::appstream | thunderbird | 0 | 0:128.3.0-1.el8_6 |
| Red Hat:rhel_tus:8.6::appstream | thunderbird-debuginfo | 0 | 0:128.3.0-1.el8_6 |
| Red Hat:rhel_tus:8.6::appstream | thunderbird-debugsource | 0 | 0:128.3.0-1.el8_6 |
| Rocky Linux:8 | firefox | 0 | 0:128.3.0-1.el8_10 |
| Rocky Linux:8 | thunderbird | 0 | 0:128.3.0-1.el8_10 |
| SUSE:Enterprise Storage 7.1 | MozillaFirefox | 0 | 128.3.0-150200.152.152.1 |
| SUSE:Enterprise Storage 7.1 | MozillaFirefox | 0 | 128.3.1-150200.152.155.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | MozillaFirefox | 0 | 128.3.0-150200.152.152.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | MozillaFirefox | 0 | 128.3.1-150200.152.155.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | MozillaFirefox | 0 | 128.3.0-150200.152.152.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | MozillaFirefox | 0 | 128.3.1-150200.152.155.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | MozillaFirefox | 0 | 128.3.0-150200.152.152.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | MozillaFirefox | 0 | 128.3.1-150200.152.155.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | MozillaFirefox | 0 | 128.3.0-150200.152.152.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | MozillaFirefox | 0 | 128.3.1-150200.152.155.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP5 | MozillaFirefox | 0 | 128.3.0-150200.152.152.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP5 | MozillaFirefox | 0 | 128.3.1-150200.152.155.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP6 | MozillaFirefox | 0 | 128.3.0-150200.152.152.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP6 | MozillaFirefox | 0 | 128.3.1-150200.152.155.1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP5 | MozillaThunderbird | 0 | 128.3.0-150200.8.182.1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP6 | MozillaThunderbird | 0 | 128.3.0-150200.8.182.1 |
| SUSE:Linux Enterprise Server 12 SP5 | MozillaFirefox | 0 | 128.3.0-112.228.1 |
| SUSE:Linux Enterprise Server 12 SP5 | MozillaFirefox | 0 | 128.3.1-112.231.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | MozillaFirefox | 0 | 128.3.0-150200.152.152.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | MozillaFirefox | 0 | 128.3.1-150200.152.155.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | MozillaFirefox | 0 | 128.3.0-150200.152.152.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | MozillaFirefox | 0 | 128.3.1-150200.152.155.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | MozillaFirefox | 0 | 128.3.0-150200.152.152.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | MozillaFirefox | 0 | 128.3.1-150200.152.155.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | MozillaFirefox | 0 | 128.3.0-112.228.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | MozillaFirefox | 0 | 128.3.1-112.231.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | MozillaFirefox | 0 | 128.3.0-150200.152.152.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | MozillaFirefox | 0 | 128.3.1-150200.152.155.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | MozillaFirefox | 0 | 128.3.0-150200.152.152.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | MozillaFirefox | 0 | 128.3.1-150200.152.155.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | MozillaFirefox | 0 | 128.3.0-150200.152.152.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | MozillaFirefox | 0 | 128.3.1-150200.152.155.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | MozillaFirefox | 0 | 128.3.0-112.228.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | MozillaFirefox | 0 | 128.3.1-112.231.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP5 | MozillaThunderbird | 0 | 128.3.0-150200.8.182.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP6 | MozillaThunderbird | 0 | 128.3.0-150200.8.182.1 |
| Ubuntu:18.04:LTS | mozjs38 | 0 | No fix |
| Ubuntu:18.04:LTS | mozjs52 | 0 | No fix |
| Ubuntu:20.04:LTS | firefox | 0 | 131.0+build1.1-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.18.0+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.18.0+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:25.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 | 136.0.2-r0 |
| openSUSE:Leap 15.5 | MozillaFirefox | 0 | 128.3.0-150200.152.152.1 |
| openSUSE:Leap 15.5 | MozillaFirefox | 0 | 128.3.1-150200.152.155.1 |
| openSUSE:Leap 15.5 | MozillaThunderbird | 0 | 128.3.0-150200.8.182.1 |
| openSUSE:Leap 15.6 | MozillaFirefox | 0 | 128.3.0-150200.152.152.1 |
| openSUSE:Leap 15.6 | MozillaFirefox | 0 | 128.3.1-150200.152.155.1 |
| openSUSE:Leap 15.6 | MozillaThunderbird | 0 | 128.3.0-150200.8.182.1 |
| openSUSE:Tumbleweed | MozillaFirefox | 0 | 131.0-1.1 |
| openSUSE:Tumbleweed | MozillaThunderbird | 0 | 128.3.1-1.1 |
| openSUSE:Tumbleweed | firefox-esr | 0 | 128.5.1-1.1 |
| openSUSE:Tumbleweed | mozjs128 | 0 | 128.3.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