CVE-2025-27108

Published Feb 21, 2025

Last updated 2 days ago

Overview

AI description

Generated using AI and has not been reviewed by Intruder. May contain errors.

CVE-2025-27108 is a cross-site scripting (XSS) vulnerability found in the "dom-expressions" library, a JavaScript runtime used for efficient DOM rendering. The vulnerability stems from the library's use of JavaScript's `.replace()` method, specifically when handling user-provided input within the attributes of HTML meta tags. This improper input neutralization can allow attackers to inject malicious scripts into web pages. This vulnerability is particularly relevant when used with the "solid-meta" package, which utilizes `useAffect` and context providers to inject assets into the HTML header. Attackers can exploit the interaction between these components by crafting malicious input for meta tag attributes. This input, when processed by the vulnerable `.replace()` method in "dom-expressions", can lead to the execution of arbitrary JavaScript code in a victim's browser. The issue has been addressed in version 0.39.5 of "dom-expressions".

Description
dom-expressions is a Fine-Grained Runtime for Performant DOM Rendering. In affected versions the use of javascript's `.replace()` opens up to potential Cross-site Scripting (XSS) vulnerabilities with the special replacement patterns beginning with `$`. Particularly, when the attributes of `Meta` tag from solid-meta are user-defined, attackers can utilise the special replacement patterns, either `$'` or `$\`` to achieve XSS. The solid-meta package has this issue since it uses `useAffect` and context providers, which injects the used assets in the html header. "dom-expressions" uses `.replace()` to insert the assets, which is vulnerable to the special replacement patterns listed above. This effectively means that if the attributes of an asset tag contained user-controlled data, it would be vulnerable to XSS. For instance, there might be meta tags for the open graph protocol in a user profile page, but if attackers set the user query to some payload abusing `.replace()`, then they could execute arbitrary javascript in the victim's web browser. Moreover, it could be stored and cause more problems. This issue has been addressed in version 0.39.5 and all users are advised to upgrade. There are no known workarounds for this vulnerability.
Source
security-advisories@github.com
NVD status
Received

Risk scores

CVSS 3.1

Type
Secondary
Base score
7.3
Impact score
3.4
Exploitability score
3.9
Vector string
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
Severity
HIGH

Weaknesses

security-advisories@github.com
CWE-79

Social media

Hype score is a measure of social media activity compared against trending CVEs from the past 12 months. Max score 100.

Hype score

1