CVE-2025-68467

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.
Configurations

Configuration 1 (hide)

cpe:2.3:a:darkreader:darkreader:*:*:*:*:*:*:*:*

History

18 Mar 2026, 15:13

Type Values Removed Values Added
References () https://github.com/darkreader/darkreader/security/advisories/GHSA-x369-mcw8-8rvj - () https://github.com/darkreader/darkreader/security/advisories/GHSA-x369-mcw8-8rvj - Vendor Advisory
CPE cpe:2.3:a:darkreader:darkreader:*:*:*:*:*:*:*:*
First Time Darkreader
Darkreader darkreader
Summary
  • (es) Dark Reader es una extensión de navegador de accesibilidad que oscurece los colores de las páginas web. La característica de modo oscuro dinámico de la extensión funciona analizando los colores de las páginas web que se encuentran en los archivos de hojas de estilo CSS. Para analizar hojas de estilo de origen cruzado (almacenadas en sitios web diferentes de la página web original), Dark Reader solicita dichos archivos a través de un trabajador en segundo plano, asegurando que la solicitud se realice sin credenciales y que el tipo de contenido de la respuesta sea un archivo CSS. Antes de Dark Reader 4.9.117, este contenido de estilo se asignaba a un Elemento de Estilo HTML para analizar y recorrer las declaraciones de estilo, y también se almacenaba en el Almacenamiento de Sesión de la página para obtener mejoras de rendimiento. Esto podría permitir a un autor de un sitio web solicitar una hoja de estilo de un servidor web ejecutándose localmente, por ejemplo, teniendo un enlace que apunte a 'http[:]//localhost[:]8080/style[.]css'. La fuerza bruta del nombre de host, puerto y nombre de archivo sería poco probable debido al impacto en el rendimiento, lo que haría que la pestaña del navegador se congele brevemente, pero podría ser posible solicitar una hoja de estilo si la URL completa se conociera de antemano. A partir del 18 de diciembre de 2025, no se conoce ningún exploit del problema. El problema ha sido solucionado en la versión 4.9.117 el 3 de diciembre de 2025. Las hojas de estilo ahora se analizan utilizando la API moderna de Hojas de Estilo Construidas y el contenido de las hojas de estilo de origen cruzado ya no se almacena en el Almacenamiento de Sesión de la página. La versión 4.9.118 (8 de diciembre de 2025) restringe las solicitudes de origen cruzado a alias de localhost, direcciones IP, hosts con puertos y recursos no HTTPS. La mayoría absoluta de los usuarios ha recibido una actualización 4.1.117 o 4.9.118 automáticamente en una semana. Sin embargo, los usuarios deben asegurarse de que sus actualizaciones automáticas no estén bloqueadas y de que están utilizando la última versión de la extensión yendo a las páginas chrome://extensions o about:addons en la configuración del navegador. Los usuarios que utilizan compilaciones manuales deben actualizarse a la versión 4.9.118 y superiores. Los desarrolladores que utilizan el paquete NPM 'darkreader' para sus propios sitios web probablemente no se vean afectados, pero deben asegurarse de que la función pasada a 'setFetchMethod()' para realizar solicitudes de origen cruzado funcione dentro del alcance previsto. Los desarrolladores que utilizan bifurcaciones personalizadas de versiones anteriores de Dark Reader para construir otras extensiones o integrarlas en sus aplicaciones o navegadores deben asegurarse de que realizan solicitudes de origen cruzado de forma segura y de que las respuestas no son accesibles fuera de la aplicación o extensión.

04 Mar 2026, 22:16

Type Values Removed Values Added
New CVE

Information

Published : 2026-03-04 22:16

Updated : 2026-03-18 15:13


NVD link : CVE-2025-68467

Mitre link : CVE-2025-68467

CVE.ORG link : CVE-2025-68467


JSON object : View

Products Affected

darkreader

  • darkreader
CWE
CWE-200

Exposure of Sensitive Information to an Unauthorized Actor

CWE-346

Origin Validation Error

CWE-668

Exposure of Resource to Wrong Sphere