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-2021-41184 Vulnerability in maven package org.webjars.bower:jquery-ui
CVE-2013-4444 Vulnerability in maven package org.apache.tomcat:tomcat-util
CVE-2020-4051 Vulnerability in maven package org.webjars.bowergithub.dojo:dijit
CVE-2023-34238 Vulnerability in npm package gatsby
CVE-2018-1000665 Vulnerability in maven package org.webjars.bower:dojo