CVE-2019-17017

8.8 HIGH

📋 TL;DR

A type confusion vulnerability in Firefox and Firefox ESR could allow attackers to execute arbitrary code by exploiting missing case handling for object types. This affects Firefox versions below 72 and Firefox ESR versions below 68.4, potentially enabling remote code execution when users visit malicious websites.

💻 Affected Systems

Products:
  • Mozilla Firefox
  • Mozilla Firefox ESR
Versions: Firefox < 72, Firefox ESR < 68.4
Operating Systems: Windows, Linux, macOS
Default Config Vulnerable: ⚠️ Yes
Notes: All default configurations are vulnerable. Thunderbird may also be affected as it uses the same rendering engine.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote code execution with the same privileges as the Firefox process, potentially leading to full system compromise.

🟠

Likely Case

Browser crash (denial of service) or limited code execution within browser sandbox.

🟢

If Mitigated

No impact if patched versions are deployed or if vulnerable browsers are isolated from untrusted content.

🌐 Internet-Facing: HIGH - Web browsers directly interact with untrusted internet content, making exploitation via malicious websites highly probable.
🏢 Internal Only: MEDIUM - Internal users could still be targeted via phishing or compromised internal websites.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: MEDIUM

While no public PoC exists, Mozilla presumes exploitation is possible with sufficient effort. Type confusion vulnerabilities are commonly weaponized in browser attacks.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Firefox 72.0, Firefox ESR 68.4

Vendor Advisory: https://www.mozilla.org/en-US/security/advisories/mfsa2020-02/

Restart Required: Yes

Instructions:

1. Open Firefox/Firefox ESR. 2. Click menu → Help → About Firefox. 3. Browser will check for updates and prompt to install. 4. Restart browser when prompted. For enterprise deployments, use Mozilla's enterprise deployment tools.

🔧 Temporary Workarounds

Disable JavaScript

all

Prevents exploitation by disabling JavaScript execution, which is required for most browser-based attacks.

about:config → Set javascript.enabled to false

Use Content Security Policy

all

Implement CSP headers to restrict script execution from untrusted sources.

Add 'Content-Security-Policy: script-src 'self'' to web server headers

🧯 If You Can't Patch

  • Isolate vulnerable browsers using application whitelisting or network segmentation
  • Implement strict web filtering to block access to untrusted or malicious websites

🔍 How to Verify

Check if Vulnerable:

Check browser version in About Firefox/Help menu. If version is below Firefox 72 or Firefox ESR 68.4, system is vulnerable.

Check Version:

firefox --version (Linux), or check About Firefox menu

Verify Fix Applied:

Verify browser version is Firefox 72.0 or higher, or Firefox ESR 68.4 or higher.

📡 Detection & Monitoring

Log Indicators:

  • Browser crash reports with suspicious memory access patterns
  • Unexpected child process spawning from Firefox

Network Indicators:

  • Unusual outbound connections from browser process
  • Traffic to known exploit hosting domains

SIEM Query:

process_name="firefox.exe" AND (event_id=1000 OR event_id=1001) | where version < "72"

🔗 References

📤 Share & Export