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.
If you are unable to update @udecode/plate-link to version 20.0.0, we recommend overriding the LinkElement and PlateFloatingLink components with implementations that explicitly check the URL scheme before rendering any anchor elements.
{
"github_reviewed": true,
"severity": "HIGH",
"github_reviewed_at": "2023-06-09T22:41:56Z",
"cwe_ids": [
"CWE-79"
],
"nvd_published_at": "2023-06-09T18:15:09Z"
}