CVE-2025-27108

7.3 HIGH

📋 TL;DR

This vulnerability allows attackers to execute arbitrary JavaScript in victims' browsers through Cross-site Scripting (XSS) in dom-expressions and solid-meta packages. It affects applications using user-controlled data in meta tag attributes that get processed by vulnerable .replace() patterns. All users of affected versions are at risk.

💻 Affected Systems

Products:
  • dom-expressions
  • solid-meta
Versions: All versions before 0.39.5
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerable when user-controlled data is used in meta tag attributes processed by the affected packages.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers can execute arbitrary JavaScript in victims' browsers, potentially stealing session cookies, performing actions as the user, or delivering malware.

🟠

Likely Case

XSS attacks leading to session hijacking, credential theft, or defacement of user-accessible pages with meta tags.

🟢

If Mitigated

Limited impact if proper input validation and output encoding are implemented, but the core vulnerability remains.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Requires user-controlled input in meta tag attributes and knowledge of .replace() special patterns.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 0.39.5

Vendor Advisory: https://github.com/ryansolid/dom-expressions/security/advisories/GHSA-hw62-58pr-7wc5

Restart Required: No

Instructions:

1. Update dom-expressions to version 0.39.5 or later. 2. Update solid-meta if used. 3. Verify no breaking changes in your application.

🔧 Temporary Workarounds

No workarounds available

all

The advisory states there are no known workarounds for this vulnerability.

🧯 If You Can't Patch

  • Implement strict input validation and output encoding for all user-controlled data used in meta tags.
  • Use Content Security Policy (CSP) headers to restrict script execution and mitigate XSS impact.

🔍 How to Verify

Check if Vulnerable:

Check package.json for dom-expressions version <0.39.5 or solid-meta using vulnerable dom-expressions.

Check Version:

npm list dom-expressions

Verify Fix Applied:

Confirm dom-expressions version is 0.39.5 or later in package.json and dependencies.

📡 Detection & Monitoring

Log Indicators:

  • Unusual meta tag attribute values containing JavaScript patterns or special characters like $' or $`

Network Indicators:

  • Unexpected script execution from meta tag injections

SIEM Query:

Search for patterns like $' or $` in user input fields that populate meta tags.

🔗 References

📤 Share & Export