Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2021-38503

CVE-2021-38503: Mozilla Firefox XSS Vulnerability

CVE-2021-38503 is an XSS flaw in Mozilla Firefox where iframe sandbox rules failed to apply to XSLT stylesheets, enabling script execution bypass. This article covers technical details, affected versions, and mitigations.

Updated:

CVE-2021-38503 Overview

CVE-2021-38503 is an authorization bypass vulnerability in Mozilla Firefox, Firefox ESR, and Thunderbird. The iframe sandbox rules were not correctly applied to Extensible Stylesheet Language Transformations (XSLT) stylesheets. This flaw allowed a sandboxed iframe to bypass restrictions such as executing scripts or navigating the top-level frame. The vulnerability is classified under [CWE-863] (Incorrect Authorization) and affects Firefox versions earlier than 94, Thunderbird earlier than 91.3, and Firefox ESR earlier than 91.3. Debian Linux distributions shipping these packages are also affected.

Critical Impact

A remote attacker can serve a crafted page containing an XSLT-laden iframe to escape the sandbox, execute arbitrary scripts in a privileged context, and navigate the top-level frame without user interaction.

Affected Products

  • Mozilla Firefox versions prior to 94
  • Mozilla Firefox ESR and Thunderbird versions prior to 91.3
  • Debian Linux 9, 10, and 11 (packages distributing the affected Mozilla products)

Discovery Timeline

  • 2021-12-08 - CVE-2021-38503 published to the National Vulnerability Database
  • 2024-11-21 - Last updated in NVD database

Technical Details for CVE-2021-38503

Vulnerability Analysis

The vulnerability resides in how the browser enforces iframe sandbox restrictions when processing XSLT stylesheets. The HTML sandbox attribute is intended to restrict capabilities such as script execution, form submission, and top-level navigation for embedded content. Mozilla's implementation failed to propagate these sandbox flags to documents transformed through XSLT. An attacker leveraging this gap can execute JavaScript inside a sandboxed frame that should have been script-disabled and can navigate the parent window away from its origin.

The scope-changed impact in the scoring vector reflects that successful exploitation breaks the security boundary between the sandboxed document and the embedding page, affecting resources beyond the vulnerable component.

Root Cause

The defect is an incorrect authorization condition [CWE-863]. When the rendering engine processes an XSLT-transformed document inside an iframe, it does not consult the parent frame's sandbox policy. As a result, the resulting document inherits a permissive execution context. Restrictions encoded in attributes such as sandbox="" or sandbox="allow-same-origin" are silently dropped along the XSLT processing path.

Attack Vector

Exploitation requires only that a victim load an attacker-controlled web page or open a malicious HTML email in Thunderbird. The page embeds a sandboxed iframe whose content references an XSLT stylesheet using a processing instruction such as <?xml-stylesheet type="text/xsl" href="evil.xsl"?>. The transformed output executes script content despite the sandbox attribute. The attacker can then read or manipulate the top-level browsing context, redirect the user, or stage further client-side attacks. Refer to the Mozilla Bug Report #1729517 for technical details of the underlying defect.

Detection Methods for CVE-2021-38503

Indicators of Compromise

  • Outbound requests to attacker-controlled hosts originating from firefox.exe, firefox-esr, or thunderbird processes immediately after rendering untrusted HTML or email content.
  • HTML or email payloads containing iframes that combine the sandbox attribute with an inline or referenced <?xml-stylesheet type="text/xsl" ?> processing instruction.
  • Unexpected top-level navigations away from a known-good origin while a sandboxed iframe is present on the page.

Detection Strategies

  • Inspect web proxy and email gateway logs for HTML attachments and pages serving .xsl or .xslt stylesheets alongside sandboxed iframes.
  • Use endpoint telemetry to correlate browser process child-process creation, file writes, or credential access following the rendering of XSLT content.
  • Validate installed browser and email client versions across the fleet and flag hosts running Firefox < 94, Firefox ESR < 91.3, or Thunderbird < 91.3.

Monitoring Recommendations

  • Monitor browser version inventories continuously and alert on out-of-date installations of Mozilla products.
  • Track DNS and HTTP requests for unusual stylesheet retrievals (text/xsl, application/xslt+xml) originating from user workstations.
  • Audit Thunderbird configurations to confirm remote content loading remains disabled for untrusted senders.

How to Mitigate CVE-2021-38503

Immediate Actions Required

Patch Information

Mozilla addressed the issue in the Firefox 94, Firefox ESR 91.3, and Thunderbird 91.3 release cycles. Full details are available in Mozilla Security Advisory MFSA-2021-48, Mozilla Security Advisory MFSA-2021-49, and Mozilla Security Advisory MFSA-2021-50. Downstream packages are tracked in the Debian LTS Announcement and Gentoo GLSA 202208-14.

Workarounds

  • Disable JavaScript for untrusted origins using enterprise policies such as javascript.enabled set to false where feasible.
  • Configure Thunderbird to render messages as plain text and to block remote content from unknown senders.
  • Restrict browsing to trusted sites through enterprise web filtering until updates are deployed across the fleet.
bash
# Configuration example: enforce minimum Firefox version via Debian package management
sudo apt-get update
sudo apt-get install --only-upgrade firefox-esr thunderbird
firefox-esr --version   # Expect 91.3 or later
thunderbird --version   # Expect 91.3 or later

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.