CVE-2025-66020

7.5 HIGH

📋 TL;DR

This CVE describes a Regular Expression Denial of Service (ReDoS) vulnerability in Valibot's emoji validation regex. Attackers can submit a short malicious string (<100 characters) that causes excessive CPU consumption, potentially leading to application DoS. This affects applications using Valibot versions 0.31.0 through 1.1.0 for data validation.

💻 Affected Systems

Products:
  • Valibot
Versions: 0.31.0 to 1.1.0
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects applications using the emoji action/validation feature of Valibot.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete application denial of service, making the service unavailable to legitimate users for extended periods due to CPU exhaustion.

🟠

Likely Case

Degraded application performance or temporary unavailability when malicious inputs trigger the vulnerable regex pattern.

🟢

If Mitigated

Minimal impact with proper input validation and rate limiting in place before reaching the vulnerable regex.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires submitting malicious input to endpoints using Valibot's emoji validation. No authentication needed if endpoint is public.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.2.0

Vendor Advisory: https://github.com/open-circle/valibot/security/advisories/GHSA-vqpr-j7v3-hqw9

Restart Required: No

Instructions:

1. Update Valibot dependency to version 1.2.0 or later. 2. Run npm update valibot or yarn upgrade valibot. 3. Test application functionality with emoji validation.

🔧 Temporary Workarounds

Disable emoji validation

all

Remove or disable the emoji action/validation from your Valibot schemas

Implement input length limits

all

Add input length validation before the vulnerable regex is executed

🧯 If You Can't Patch

  • Implement WAF rules to block suspicious regex patterns or limit input length
  • Add rate limiting to endpoints using emoji validation to prevent mass exploitation

🔍 How to Verify

Check if Vulnerable:

Check package.json or package-lock.json for Valibot version between 0.31.0 and 1.1.0

Check Version:

npm list valibot or yarn list valibot

Verify Fix Applied:

Confirm Valibot version is 1.2.0 or higher in package.json

📡 Detection & Monitoring

Log Indicators:

  • High CPU usage spikes
  • Slow response times on validation endpoints
  • Repeated failed validation attempts

Network Indicators:

  • Multiple requests with unusual character patterns
  • Requests containing complex emoji-like strings

SIEM Query:

source="application_logs" AND (message="CPU spike" OR message="slow validation") AND process="node"

🔗 References

📤 Share & Export