Use DOMPurify or a similar library to sanitize the marked output before inserting into innerHTML.
## Description
The `renderMarkdown()` function uses `marked.parse()` and assigns the result directly to `innerHTML` without sanitization.
### Affected files
- `public/js/views/document.js`
- `public/js/views/editor.js`
### Risk
If a user saves a document containing malicious markdown like:
```markdown
[Click](javascript:alert(1))
)
```
The rendered HTML will execute JavaScript.
### Recommendation
Use DOMPurify or a similar library to sanitize the marked output before inserting into innerHTML.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Description
The
renderMarkdown()function usesmarked.parse()and assigns the result directly toinnerHTMLwithout sanitization.Affected files
public/js/views/document.jspublic/js/views/editor.jsRisk
If a user saves a document containing malicious markdown like:
The rendered HTML will execute JavaScript.
Recommendation
Use DOMPurify or a similar library to sanitize the marked output before inserting into innerHTML.