commit bc2f4589e5403a06408d1256b0c4603d7aad98b1
parent ee404db92af35314c7be1c3de60d52c0de472f16
Author: MTRNord <mtrnord1@gmail.com>
Date: Fri, 21 Apr 2023 19:40:24 +0200
fix: Prevent slight xss issue
Diffstat:
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/components/input/chat/plugins/ToolbarPlugin.tsx b/src/components/input/chat/plugins/ToolbarPlugin.tsx
@@ -9,7 +9,8 @@ import {
ChangeEvent,
MutableRefObject,
Dispatch,
- SetStateAction
+ SetStateAction,
+ createElement
} from "react";
import {
CAN_REDO_COMMAND,
@@ -206,6 +207,8 @@ function FloatingLinkEditor({ editor }: { editor: LexicalEditor }) {
}
}, [isEditMode]);
+ const safeLink = createElement("a", { href: linkUrl, target: "_blank", rel: "noopener noreferrer" }, linkUrl);
+
return (
<div ref={editorRef} className="link-editor">
{isEditMode ? (
@@ -234,9 +237,7 @@ function FloatingLinkEditor({ editor }: { editor: LexicalEditor }) {
) : (
<>
<div className="link-input">
- <a href={linkUrl} target="_blank" rel="noopener noreferrer">
- {linkUrl}
- </a>
+ {safeLink}
<div
className="link-edit"
role="button"