Overview
@webiny/react-rich-text-renderer
is a react component to render data coming from Webiny Headless CMS and Webiny Form Builder. The @webiny/react-rich-text-renderer
package depends on the editor.js rich text editor to handle rich text content. The CMS stores rich text content from the editor.js
into the database. When the @webiny/react-rich-text-renderer
is used to render such content, it uses the dangerouslySetInnerHTML
prop, without applying HTML sanitization. The issue arises when an actor, who in this context would specifically be a content manager with access to the CMS, inserts a malicious script as part of the user-defined input. This script is then injected and executed within the user's browser when the main page or admin page loads.
Am I affected?
You will be affected if you're running a Webiny project created prior to 5.35.0
and you're using the legacy rich text editor (which uses editor.js
library under the hood). If you've already switched to using the new rich text editor, powered by Lexical editor, you will not be affected by this.
How do I patch this vulnerability?
Update to Webiny version 5.37.2
.
References
Overview
@webiny/react-rich-text-renderer
is a react component to render data coming from Webiny Headless CMS and Webiny Form Builder. The@webiny/react-rich-text-renderer
package depends on the editor.js rich text editor to handle rich text content. The CMS stores rich text content from theeditor.js
into the database. When the@webiny/react-rich-text-renderer
is used to render such content, it uses thedangerouslySetInnerHTML
prop, without applying HTML sanitization. The issue arises when an actor, who in this context would specifically be a content manager with access to the CMS, inserts a malicious script as part of the user-defined input. This script is then injected and executed within the user's browser when the main page or admin page loads.Am I affected?
You will be affected if you're running a Webiny project created prior to
5.35.0
and you're using the legacy rich text editor (which useseditor.js
library under the hood). If you've already switched to using the new rich text editor, powered by Lexical editor, you will not be affected by this.How do I patch this vulnerability?
Update to Webiny version
5.37.2
.References