CVE-2025-68467
Received Received - Intake
Cross-Origin Style Sheet Exposure in Dark Reader Extension

Publication date: 2026-03-04

Last updated on: 2026-03-18

Assigner: GitHub, Inc.

Description
Dark Reader is an accessibility browser extension that makes web pages colors dark. The dynamic dark mode feature of the extension works by analyzing the colors of web pages found in CSS style sheet files. In order to analyze cross-origin style sheets (stored on websites different from the original web page), Dark Reader requests such files via a background worker, ensuring the request is performed with no credentials and that the content type of the response is a CSS file. Prior to Dark Reader 4.9.117, this style content was assigned to an HTML Style Element in order to parse and loop through style declarations, and also stored in page's Session Storage for performance gains. This could allow a website author to request a style sheet from a locally running web server, for example by having a link pointing to `http[:]//localhost[:]8080/style[.]css`. The brute force of the host name, port and file name would be unlikely due to performance impact, that would cause the browser tab to hang shortly, but it could be possible to request a style sheet if the full URL was known in advance. As per December 18, 2025 there is no known exploit of the issue. The problem has been fixed in version 4.9.117 on December 3, 2025. The style sheets are now parsed using modern Constructed Style Sheets API and the contents of cross-origin style sheets is no longer stored in page's Session Storage. Version 4.9.118 (December 8, 2025) restricts cross-origin requests to localhost aliases, IP addresses, hosts with ports and non-HTTPS resources. The absolute majority of users have received an update 4.1.117 or 4.9.118 automatically within a week. However users must ensure their automatic updates are not blocked and they are using the latest version of the extension by going to chrome://extensions or about:addons pages in browser settings. Users utilizing manual builds must upgrade to version 4.9.118 and above. Developers using `darkreader` NPM package for their own websites are likely not affected, but must ensure the function passed to `setFetchMethod()` for performing cross-origin requests works within the intended scope. Developers using custom forks of earlier versions of Dark Reader to build other extensions or integrating into their apps or browsers must ensure they perform cross-origin requests safely and the responses are not accessible outside of the app or extension.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-03-04
Last Modified
2026-03-18
Generated
2026-05-07
AI Q&A
2026-03-05
EPSS Evaluated
2026-05-05
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
darkreader darkreader to 4.9.117 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-346 The product does not properly verify that the source of data or communication is valid.
CWE-668 The product exposes a resource to the wrong control sphere, providing unintended actors with inappropriate access to the resource.
CWE-200 The product exposes sensitive information to an actor that is not explicitly authorized to have access to that information.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

The vulnerability in Dark Reader, an accessibility browser extension that applies dark mode to web pages, involves how it handled cross-origin CSS style sheets before version 4.9.117. The extension requested these style sheets via a background worker without credentials and assigned the content to an HTML Style Element for parsing, also storing the content in the page's Session Storage for performance. This behavior could allow a website author to request a style sheet from a locally running web server (e.g., http://localhost:8080/style.css) if the full URL was known, potentially exposing local resources.

The issue was fixed in version 4.9.117 by switching to the modern Constructed Style Sheets API and no longer storing cross-origin style sheet contents in Session Storage. Further restrictions were added in version 4.9.118 to limit cross-origin requests to localhost aliases, IP addresses, hosts with ports, and non-HTTPS resources.


How can this vulnerability impact me? :

This vulnerability could potentially allow a malicious website to access CSS style sheets from a locally running web server on the user's machine if the exact URL is known. This might expose local resources or information that should not be accessible to web pages. However, brute forcing the URL is unlikely due to performance impacts causing the browser tab to hang briefly.

As of December 18, 2025, there are no known exploits of this issue, and it has been fixed in recent versions of Dark Reader. Users should ensure they have updated to version 4.9.117 or later to avoid this risk.


How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

I don't know


How can this vulnerability be detected on my network or system? Can you suggest some commands?

I don't know


What immediate steps should I take to mitigate this vulnerability?

To mitigate this vulnerability, ensure that you are using Dark Reader version 4.9.117 or later, preferably 4.9.118 or above.

Verify that automatic updates for the Dark Reader extension are not blocked and that the extension is updated to the latest version by checking the browser's extensions page (chrome://extensions or about:addons).

If you use manual builds of Dark Reader, upgrade them to version 4.9.118 or above.

Developers using the darkreader NPM package should ensure that the function passed to setFetchMethod() performs cross-origin requests safely and within the intended scope.

Developers using custom forks of earlier versions should ensure cross-origin requests are performed safely and that responses are not accessible outside the app or extension.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart