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-2020-5222 Vulnerability in maven package org.opencastproject:opencast-kernel
CVE-2020-26870 Vulnerability in maven package org.webjars.bowergithub.cure53:dompurify
CVE-2023-33201 Vulnerability in maven package org.bouncycastle:bcprov-jdk18on
CVE-2014-3576 Vulnerability in maven package org.apache.activemq:activemq-core
CVE-2020-7663 Vulnerability in maven package org.webjars.npm:websocket-extensions