Dark Reader gives users the ability to request style sheets from local web servers
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.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Dark Reader extension before 4.9.117 allowed websites to request cross-origin style sheets from local web servers, risking local service data leakage.
Vulnerability
Description Prior to version 4.9.117, the Dark Reader browser extension handled cross-origin style sheets by assigning their content to an HTML Style Element for parsing and storing the content in the page's Session Storage for performance [1]. This allowed a malicious website to request a style sheet from a locally running web server (e.g., http://localhost:8080/style.css) by including a link to that URL [3]. The request was made without credentials and required the target to return a CSS content type.
Exploitation
Conditions Exploitation requires the attacker to know the full URL (hostname, port, and filename) of a local web server. Brute-forcing is unlikely due to performance impacts that cause browser tab hangs [1]. No known exploit existed as of December 2025 [1]. The attack does not require user interaction beyond visiting the malicious page.
Impact
If successful, an attacker could read the content of a local style sheet, potentially exposing sensitive information on the local server. However, the scope is limited to style sheets with known URLs.
Mitigation
The issue was fixed in version 4.9.117 (December 3, 2025) by using the Constructed Style Sheets API and no longer storing cross-origin content in Session Storage [1]. Version 4.9.118 (December 8, 2025) further restricted cross-origin requests to localhost aliases, IP addresses, hosts with ports, and non-HTTPS resources [3]. Most users received automatic updates; users should verify their extension is up to date.
AI Insight generated on May 18, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
darkreadernpm | < 4.9.117 | 4.9.117 |
Affected products
2- Range: <4.9.117
- darkreader/darkreaderv5Range: < 4.9.117
Patches
0No patches discovered yet.
Vulnerability mechanics
AI mechanics synthesis has not run for this CVE yet.
References
3- github.com/advisories/GHSA-x369-mcw8-8rvjghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2025-68467ghsaADVISORY
- github.com/darkreader/darkreader/security/advisories/GHSA-x369-mcw8-8rvjghsax_refsource_CONFIRMWEB
News mentions
0No linked articles in our index yet.