CVE-2020-9038: Cross-site Scripting in Joplin
5.4
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.77801%
CWE
Published
10/13/2020
Updated
2/1/2023
KEV Status
No
Technology
JavaScript
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
joplin | npm | < 1.2.1 | 1.2.1 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stemmed from insufficient HTML sanitization in rendering pipelines. Key evidence includes: 1) The commit adds a new sanitize_html
rule to MdToHtml
that removes JS event handlers 2) Added test cases demonstrate removal of onerror
attributes from img tags 3) htmlUtils.js
was modified to add sanitizeHtml()
method using node-html-parser
4) The XSS vulnerability allowed file read through script execution, implying rendering functions processed untrusted HTML/Markdown without proper sanitization. The pre-patch versions lacked these sanitization steps, making the image processing and markdown rendering functions vulnerable.