Headline
GHSA-3x59-vrmc-5mx6: @webiny/react-rich-text-renderer vulnerable to insecure rendering of rich text content
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
.
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
- GHSA-3x59-vrmc-5mx6
- webiny/webiny-js@8748bc5
Related news
@webiny/react-rich-text-renderer before 5.37.2 allows XSS attacks by content managers. This is a react component to render data coming from Webiny Headless CMS and Webiny Form Builder. Webiny is an open-source serverless enterprise CMS. 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.