@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.