CVE-2024-47061

8.3 HIGH

📋 TL;DR

CVE-2024-47061 is a security vulnerability in Plate JavaScript toolkit that allows malicious actors to inject custom DOM attributes, potentially leading to cross-site scripting (XSS) attacks and information exposure. The vulnerability affects all Plate editors using affected versions of @udecode/plate-core that allow custom attributes through the nodeProps prop. Attackers could steal user data, execute arbitrary code, or leak IP addresses through crafted attributes.

💻 Affected Systems

Products:
  • @udecode/plate-core
  • Plate JavaScript toolkit
  • Applications using Plate with Slate text editors
Versions: All versions before patched releases (specific versions not specified in advisory)
Operating Systems: All platforms running JavaScript/Node.js applications
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability exists when applications use the attributes property to add custom DOM attributes. Risk varies based on how nodeProps are handled in custom components.

⚠️ 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 compromise of user sessions via XSS leading to data theft, account takeover, and malware distribution through the text editor interface.

🟠

Likely Case

Information leakage of user IP addresses and document access patterns to malicious third parties via crafted attributes that trigger web requests.

🟢

If Mitigated

Limited impact with proper content security policies, input validation, and attribute filtering in place.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires ability to inject malicious attributes into Plate editor content. Most vulnerable attributes are href and src on <a> and <iframe> elements when nodeProps are spread without validation.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Patched versions of @udecode/plate-core (specific version numbers not provided in advisory)

Vendor Advisory: https://github.com/udecode/plate/security/advisories/GHSA-73rg-f94j-xvhx

Restart Required: No

Instructions:

1. Upgrade to patched versions of @udecode/plate-core. 2. Review and test custom attribute handling. 3. If breaking changes occur, selectively re-enable only safe attributes using plugin configuration.

🔧 Temporary Workarounds

Manual patch with patch-package

all

Apply security patch without upgrading entire package

npx patch-package @udecode/plate-core
Follow patch creation process to remove attribute logic

Yarn patch

all

Use yarn's patch functionality to modify vulnerable code

yarn patch @udecode/plate-core
Edit package to remove attribute injection logic

🧯 If You Can't Patch

  • Implement strict content security policies (CSP) to block inline scripts and unsafe attributes
  • Add server-side validation to sanitize all user input before processing in Plate editor

🔍 How to Verify

Check if Vulnerable:

Check package.json for @udecode/plate-core version and review if custom attributes are enabled in Plate configuration

Check Version:

npm list @udecode/plate-core or check package.json

Verify Fix Applied:

Verify upgraded package version and test that malicious attributes (href, src, style with URLs) are blocked

📡 Detection & Monitoring

Log Indicators:

  • Unusual attribute patterns in editor content
  • External resource requests from editor components

Network Indicators:

  • Unexpected outbound requests to unknown domains from editor iframes/images

SIEM Query:

Search for patterns of malicious attribute injection: *href="javascript:* or *src="data:* in user content

🔗 References

📤 Share & Export