CVE-2022-29916
Medium · 6.5CVSS
6.5
EPSS
0.8%
Published
Dec 22, 2022
CISA due date
—
Cloudanix analysis
A flaw in popular web browsers could let a malicious website secretly learn which other websites a person has already visited.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Data Exposure
- Component
- Application
- Class
- Information Disclosure
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The browser's handling of CSS resources that reference already-known resources via CSS variables produces observable behavioral differences that allow an attacker-controlled page to infer whether specific URLs exist in the user's history.
Why it matters to the business
Attackers can silently learn which sites a user has previously visited, exposing sensitive browsing patterns that may reveal personal interests, medical conditions, or corporate research and enabling more targeted phishing or social-engineering attacks.
How an attack unfolds
An attacker hosts a malicious page that loads crafted CSS using variables to reference external resources. Because the browser treats cached (history-known) versus uncached resources differently, timing or rendering side-effects reveal visited URLs; the collected history data is exfiltrated to the attacker. Public exploit code has been available since disclosure.
How to fix it
Upgrade Mozilla Firefox to 100 or later, Firefox ESR to 91.9 or later, and Thunderbird to 91.9 or later. After patching, clear browser history if prior exposure is suspected.
How to confirm the fix worked
Confirm installed browser versions meet or exceed the fixed releases; re-test with publicly available history-sniffing CSS proofs-of-concept to verify that observable differences no longer occur.
Typical attack path
- Attacker prepares a web page containing malicious CSS that references target URLs via variables
- Victim is lured to the attacker's page
- Page measures behavioral differences during CSS loading to determine which target URLs are in history
- Results are sent back to the attacker server
- Attacker uses inferred history for follow-on attacks
How to detect it
Examine web-proxy and browser telemetry logs for repeated cross-origin CSS requests containing variable references to external domains; correlate with known malicious domains that have hosted history-probing pages since disclosure.
What your security team should do
- Immediately deploy the listed fixed browser versions across all endpoints
- Block or warn on access to untrusted sites that load external CSS variables until patching is complete
- Review browser telemetry and proxy logs for anomalous cross-origin CSS requests that may indicate attempted probing
The record
Firefox behaved slightly differently for already known resources when loading CSS resources involving CSS variables. This could have been used to probe the browser history. This vulnerability affects Thunderbird < 91.9, Firefox ESR < 91.9, and Firefox < 100.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | firefox | 0 | 91.9.0-1.el8_5.alma |
| AlmaLinux:8 | thunderbird | 0 | 91.9.0-3.el8_5.alma |
| Debian:10 | firefox-esr | 0 | 91.9.0esr-1~deb10u1 |
| Debian:10 | thunderbird | 0 | 1:91.9.0-1~deb10u1 |
| Debian:11 | firefox-esr | 0 | 91.9.0esr-1~deb11u1 |
| Debian:11 | thunderbird | 0 | 1:91.9.0-1~deb11u1 |
| Debian:12 | firefox-esr | 0 | 91.9.0esr-1 |
| Debian:12 | thunderbird | 0 | 1:91.9.0-1 |
| Debian:13 | firefox-esr | 0 | 91.9.0esr-1 |
| Debian:13 | thunderbird | 0 | 1:91.9.0-1 |
| Debian:9 | firefox-esr | 0 | 91.9.0esr-1~deb9u1 |
| Debian:9 | thunderbird | 0 | 1:91.9.0-1~deb9u1 |
| Mageia:8 | firefox | 0 | 91.9.0-1.mga8 |
| Mageia:8 | firefox-l10n | 0 | 91.9.0-1.mga8 |
| Mageia:8 | nss | 0 | 3.78.0-1.mga8 |
| Mageia:8 | thunderbird | 0 | 91.9.0-1.mga8 |
| Mageia:8 | thunderbird-l10n | 0 | 91.9.0-1.mga8 |
| Red Hat:enterprise_linux:7::client | firefox | 0 | 0:91.9.0-1.el7_9 |
| Red Hat:enterprise_linux:7::client | firefox-debuginfo | 0 | 0:91.9.0-1.el7_9 |
| Red Hat:enterprise_linux:7::client | thunderbird | 0 | 0:91.9.0-3.el7_9 |
| Red Hat:enterprise_linux:7::client | thunderbird-debuginfo | 0 | 0:91.9.0-3.el7_9 |
| Red Hat:enterprise_linux:7::server | firefox | 0 | 0:91.9.0-1.el7_9 |
| Red Hat:enterprise_linux:7::server | firefox-debuginfo | 0 | 0:91.9.0-1.el7_9 |
| Red Hat:enterprise_linux:7::server | thunderbird | 0 | 0:91.9.0-3.el7_9 |
| Red Hat:enterprise_linux:7::server | thunderbird-debuginfo | 0 | 0:91.9.0-3.el7_9 |
| Red Hat:enterprise_linux:7::workstation | firefox | 0 | 0:91.9.0-1.el7_9 |
| Red Hat:enterprise_linux:7::workstation | firefox-debuginfo | 0 | 0:91.9.0-1.el7_9 |
| Red Hat:enterprise_linux:7::workstation | thunderbird | 0 | 0:91.9.0-3.el7_9 |
| Red Hat:enterprise_linux:7::workstation | thunderbird-debuginfo | 0 | 0:91.9.0-3.el7_9 |
| Red Hat:enterprise_linux:8::appstream | firefox | 0 | 0:91.9.0-1.el8_5 |
| Red Hat:enterprise_linux:8::appstream | firefox-debuginfo | 0 | 0:91.9.0-1.el8_5 |
| Red Hat:enterprise_linux:8::appstream | firefox-debugsource | 0 | 0:91.9.0-1.el8_5 |
| Red Hat:enterprise_linux:8::appstream | thunderbird | 0 | 0:91.9.0-3.el8_5 |
| Red Hat:enterprise_linux:8::appstream | thunderbird-debuginfo | 0 | 0:91.9.0-3.el8_5 |
| Red Hat:enterprise_linux:8::appstream | thunderbird-debugsource | 0 | 0:91.9.0-3.el8_5 |
| Red Hat:enterprise_linux:9::appstream | firefox | 0 | 0:91.9.0-1.el9_0 |
| Red Hat:enterprise_linux:9::appstream | firefox-debuginfo | 0 | 0:91.9.0-1.el9_0 |
| Red Hat:enterprise_linux:9::appstream | firefox-debugsource | 0 | 0:91.9.0-1.el9_0 |
| Red Hat:enterprise_linux:9::appstream | thunderbird | 0 | 0:91.9.0-3.el9_0 |
| Red Hat:enterprise_linux:9::appstream | thunderbird-debuginfo | 0 | 0:91.9.0-3.el9_0 |
| Red Hat:enterprise_linux:9::appstream | thunderbird-debugsource | 0 | 0:91.9.0-3.el9_0 |
| Red Hat:rhel_e4s:8.1::appstream | firefox | 0 | 0:91.9.0-1.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | firefox-debuginfo | 0 | 0:91.9.0-1.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | firefox-debugsource | 0 | 0:91.9.0-1.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | thunderbird | 0 | 0:91.9.0-3.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | thunderbird-debuginfo | 0 | 0:91.9.0-3.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | thunderbird-debugsource | 0 | 0:91.9.0-3.el8_1 |
| Red Hat:rhel_eus:8.2::appstream | firefox | 0 | 0:91.9.0-1.el8_2 |
| Red Hat:rhel_eus:8.2::appstream | firefox-debuginfo | 0 | 0:91.9.0-1.el8_2 |
| Red Hat:rhel_eus:8.2::appstream | firefox-debugsource | 0 | 0:91.9.0-1.el8_2 |
| Red Hat:rhel_eus:8.2::appstream | thunderbird | 0 | 0:91.9.0-3.el8_2 |
| Red Hat:rhel_eus:8.2::appstream | thunderbird-debuginfo | 0 | 0:91.9.0-3.el8_2 |
| Red Hat:rhel_eus:8.2::appstream | thunderbird-debugsource | 0 | 0:91.9.0-3.el8_2 |
| Red Hat:rhel_eus:8.4::appstream | firefox | 0 | 0:91.9.0-1.el8_4 |
| Red Hat:rhel_eus:8.4::appstream | firefox-debuginfo | 0 | 0:91.9.0-1.el8_4 |
| Red Hat:rhel_eus:8.4::appstream | firefox-debugsource | 0 | 0:91.9.0-1.el8_4 |
| Red Hat:rhel_eus:8.4::appstream | thunderbird | 0 | 0:91.9.0-3.el8_4 |
| Red Hat:rhel_eus:8.4::appstream | thunderbird-debuginfo | 0 | 0:91.9.0-3.el8_4 |
| Red Hat:rhel_eus:8.4::appstream | thunderbird-debugsource | 0 | 0:91.9.0-3.el8_4 |
| Rocky Linux:8 | firefox | 0 | 0:91.9.0-1.el8_5 |
| Rocky Linux:8 | thunderbird | 0 | 0:91.9.0-3.el8_5 |
| SUSE:Enterprise Storage 6 | MozillaFirefox | 0 | 91.9.0-150000.150.38.3 |
| SUSE:Enterprise Storage 7 | MozillaFirefox | 0 | 91.9.0-150200.152.33.1 |
| SUSE:Enterprise Storage 7 | MozillaFirefox | 0 | 91.9.0-150200.152.37.3 |
| SUSE:HPE Helion OpenStack 8 | MozillaFirefox | 0 | 91.9.0-112.108.4 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-ESPOS | MozillaFirefox | 0 | 91.9.0-150000.150.38.3 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS | MozillaFirefox | 0 | 91.9.0-150000.150.38.3 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-ESPOS | MozillaFirefox | 0 | 91.9.0-150200.152.33.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-ESPOS | MozillaFirefox | 0 | 91.9.0-150200.152.37.3 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | MozillaFirefox | 0 | 91.9.0-150200.152.33.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | MozillaFirefox | 0 | 91.9.0-150200.152.37.3 |
| SUSE:Linux Enterprise High Performance Computing 15-ESPOS | MozillaFirefox | 0 | 91.9.0-150000.150.38.3 |
| SUSE:Linux Enterprise High Performance Computing 15-LTSS | MozillaFirefox | 0 | 91.9.0-150000.150.38.3 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP3 | MozillaFirefox | 0 | 91.9.0-150200.152.33.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP3 | MozillaFirefox | 0 | 91.9.0-150200.152.37.3 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP4 | MozillaFirefox | 0 | 91.9.0-150200.152.33.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP4 | MozillaFirefox | 0 | 91.9.0-150200.152.37.3 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP3 | MozillaThunderbird | 0 | 91.9.0-150200.8.68.2 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP4 | MozillaThunderbird | 0 | 91.9.0-150200.8.68.2 |
| SUSE:Linux Enterprise Server 12 SP2-BCL | MozillaFirefox | 0 | 91.9.0-112.108.4 |
| SUSE:Linux Enterprise Server 12 SP3-BCL | MozillaFirefox | 0 | 91.9.0-112.108.4 |
| SUSE:Linux Enterprise Server 12 SP3-LTSS | MozillaFirefox | 0 | 91.9.0-112.108.4 |
| SUSE:Linux Enterprise Server 12 SP4-LTSS | MozillaFirefox | 0 | 91.9.0-112.108.4 |
| SUSE:Linux Enterprise Server 12 SP5 | MozillaFirefox | 0 | 91.9.0-112.108.4 |
| SUSE:Linux Enterprise Server 15 SP1-BCL | MozillaFirefox | 0 | 91.9.0-150000.150.38.3 |
| SUSE:Linux Enterprise Server 15 SP1-LTSS | MozillaFirefox | 0 | 91.9.0-150000.150.38.3 |
| SUSE:Linux Enterprise Server 15 SP2-BCL | MozillaFirefox | 0 | 91.9.0-150200.152.33.1 |
| SUSE:Linux Enterprise Server 15 SP2-BCL | MozillaFirefox | 0 | 91.9.0-150200.152.37.3 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | MozillaFirefox | 0 | 91.9.0-150200.152.33.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | MozillaFirefox | 0 | 91.9.0-150200.152.37.3 |
| SUSE:Linux Enterprise Server 15-LTSS | MozillaFirefox | 0 | 91.9.0-150000.150.38.3 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | MozillaFirefox | 0 | 91.9.0-112.108.4 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP4 | MozillaFirefox | 0 | 91.9.0-112.108.4 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | MozillaFirefox | 0 | 91.9.0-112.108.4 |
| SUSE:Linux Enterprise Server for SAP Applications 15 | MozillaFirefox | 0 | 91.9.0-150000.150.38.3 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP1 | MozillaFirefox | 0 | 91.9.0-150000.150.38.3 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | MozillaFirefox | 0 | 91.9.0-150200.152.33.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | MozillaFirefox | 0 | 91.9.0-150200.152.37.3 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | MozillaFirefox | 0 | 91.9.0-112.108.4 |
| SUSE:Linux Enterprise Workstation Extension 15 SP3 | MozillaThunderbird | 0 | 91.9.0-150200.8.68.2 |
| SUSE:Linux Enterprise Workstation Extension 15 SP4 | MozillaThunderbird | 0 | 91.9.0-150200.8.68.2 |
| SUSE:Manager Proxy 4.1 | MozillaFirefox | 0 | 91.9.0-150200.152.33.1 |
| SUSE:Manager Proxy 4.1 | MozillaFirefox | 0 | 91.9.0-150200.152.37.3 |
| SUSE:Manager Retail Branch Server 4.1 | MozillaFirefox | 0 | 91.9.0-150200.152.33.1 |
| SUSE:Manager Retail Branch Server 4.1 | MozillaFirefox | 0 | 91.9.0-150200.152.37.3 |
| SUSE:Manager Server 4.1 | MozillaFirefox | 0 | 91.9.0-150200.152.33.1 |
| SUSE:Manager Server 4.1 | MozillaFirefox | 0 | 91.9.0-150200.152.37.3 |
| SUSE:OpenStack Cloud 8 | MozillaFirefox | 0 | 91.9.0-112.108.4 |
| SUSE:OpenStack Cloud 9 | MozillaFirefox | 0 | 91.9.0-112.108.4 |
| SUSE:OpenStack Cloud Crowbar 8 | MozillaFirefox | 0 | 91.9.0-112.108.4 |
| SUSE:OpenStack Cloud Crowbar 9 | MozillaFirefox | 0 | 91.9.0-112.108.4 |
| Ubuntu:18.04:LTS | firefox | 0 | 100.0+build2-0ubuntu0.18.04.1 |
| Ubuntu:18.04:LTS | mozjs38 | 0 | No fix |
| Ubuntu:18.04:LTS | mozjs52 | 0 | No fix |
| Ubuntu:18.04:LTS | thunderbird | 0 | 1:91.9.1+build1-0ubuntu0.18.04.1 |
| Ubuntu:20.04:LTS | firefox | 0 | 100.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:91.9.1+build1-0ubuntu0.20.04.1 |
| Ubuntu:22.04:LTS | mozjs78 | 0 | No fix |
| Ubuntu:22.04:LTS | mozjs91 | 0 | No fix |
| Ubuntu:22.04:LTS | thunderbird | 0 | 1:91.9.1+build1-0ubuntu0.22.04.1 |
| 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 |
| openSUSE:Leap 15.3 | MozillaFirefox | 0 | 91.9.0-150200.152.33.1 |
| openSUSE:Leap 15.3 | MozillaFirefox | 0 | 91.9.0-150200.152.37.3 |
| openSUSE:Leap 15.3 | MozillaThunderbird | 0 | 91.9.0-150200.8.68.2 |
| openSUSE:Leap 15.4 | MozillaFirefox | 0 | 91.9.0-150200.152.33.1 |
| openSUSE:Leap 15.4 | MozillaFirefox | 0 | 91.9.0-150200.152.37.3 |
| openSUSE:Leap 15.4 | MozillaThunderbird | 0 | 91.9.0-150200.8.68.2 |
| openSUSE:Tumbleweed | MozillaFirefox | 0 | 100.0-1.1 |
| openSUSE:Tumbleweed | MozillaThunderbird | 0 | 91.9.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