Read the docs
TI-2025-19978 Aliases CVE-2025-27108GHSA-hw62-58pr-7wc5

Cross-site Scripting vulnerability due to improper use of string.replace in dom-expressions

Priority LOW 38CWE-116Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
Cross-site scripting
Confidentiality · integrity · availability
Low · Low · Low
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-79.

Summary

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00277 20th percentileScored 2026-11-07
Fix Fixed dom-expressions (ryansolid): 0.39.5dom-expressions (npm): 0.39.5

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
Yes
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
ryansoliddom-expressionsbefore 0.39.50.39.5Patch availableCNA
—dom-expressions (npm)before 0.39.50.39.5Patch availableGHSA-hw62-58pr-7wc5
  • dom-expressions Vendorryansolid Affected before 0.39.5 Fixed in 0.39.5 Patch available CNA
  • dom-expressions (npm) Vendor— Affected before 0.39.5 Fixed in 0.39.5 Patch available GHSA-hw62-58pr-7wc5

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:ryansolid:dom_expressions:*:*:*:*:*:*:*:*before 0.39.5Vulnerableryansolid
  • cpe:2.3:a:ryansolid:dom_expressions:*:*:*:*:*:*:*:* Versions before 0.39.5 Vulnerable ·ryansolid

Remediation

  • Fix · CNA dom-expressions (ryansolid) Fixed in 0.39.5
  • Fix · GHSA-hw62-58pr-7wc5 dom-expressions (npm) Fixed in 0.39.5 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2025-27108
  2. 2026-10-03 Alias added: GHSA-hw62-58pr-7wc5

References

Sources