Description
@udecode/plate-link is the link handler for the udecode/plate rich-text editor plugin system for Slate & React. Affected versions of the link plugin and link UI component do not sanitize URLs to prevent use of the `javascript:` scheme. As a result, links with JavaScript URLs can be inserted into the Plate editor through various means, including opening or pasting malicious content. `@udecode/plate-link` 20.0.0 resolves this issue by introducing an `allowedSchemes` option to the link plugin, defaulting to `['http', 'https', 'mailto', 'tel']`. URLs using a scheme that isn't in this list will not be rendered to the DOM. Users are advised to upgrade. Users unable to upgrade are advised to override the `LinkElement` and `PlateFloatingLink` components with implementations that explicitly check the URL scheme before rendering any anchor elements.
Remediation
References
https://github.com/udecode/plate/commit/93dd5712854660874900ae12e4d8e6ff28089eb7
https://github.com/udecode/plate/security/advisories/GHSA-4882-hxpr-hrvm
Related Vulnerabilities
CVE-2019-17592 Vulnerability in npm package csv-parse
CVE-2022-36097 Vulnerability in maven package org.xwiki.platform:xwiki-platform-attachment-ui
CVE-2023-28709 Vulnerability in maven package org.apache.tomcat.embed:tomcat-embed-core
CVE-2017-18355 Vulnerability in npm package rendertron-middleware
CVE-2022-35915 Vulnerability in maven package org.webjars.npm:openzeppelin__contracts