GHSA-8G2J-RHFH-HQ3R
Vulnerability from github – Published: 2025-04-30 16:53 – Updated: 2025-05-01 13:30Impact
The Markdown syntax is vulnerable to XSS through HTML. In particular, using Markdown syntax, it's possible for any user to embed Javascript code that will then be executed on the browser of any other user visiting either the document or the comment that contains it. In the instance that this code is executed by a user with admins or programming rights, this issue compromises the confidentiality, integrity and availability of the whole XWiki installation.
To reproduce, on an instance where the CommonMark Markdown Syntax 1.2 extension is installed, log in as a user without script rights. Edit a document and set its syntax to Markdown. Then , add the content <script>alert("XSS")</script> and refresh the page. If an alert appears containing "XSS", then the instance is vulnerable.
Patches
This has been patched in version 8.9 of the CommonMark Markdown Syntax 1.2 extension.
Workarounds
We're not aware of any workaround except upgrading.
References
- https://jira.xwiki.org/browse/MARKDOWN-80
- https://github.com/xwiki-contrib/syntax-markdown/commit/d136472d6e8a47981a0ede420a9096f88ffa5035
{
"affected": [
{
"package": {
"ecosystem": "Maven",
"name": "org.xwiki.contrib.markdown:syntax-markdown-commonmark12"
},
"ranges": [
{
"events": [
{
"introduced": "8.2"
},
{
"fixed": "8.9"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2025-46558"
],
"database_specific": {
"cwe_ids": [
"CWE-79"
],
"github_reviewed": true,
"github_reviewed_at": "2025-04-30T16:53:27Z",
"nvd_published_at": "2025-04-30T19:15:55Z",
"severity": "CRITICAL"
},
"details": "### Impact\nThe Markdown syntax is vulnerable to XSS through HTML. In particular, using Markdown syntax, it\u0027s possible for any user to embed Javascript code that will then be executed on the browser of any other user visiting either the document or the comment that contains it. In the instance that this code is executed by a user with admins or programming rights, this issue compromises the confidentiality, integrity and availability of the whole XWiki installation.\n\nTo reproduce, on an instance where the CommonMark Markdown Syntax 1.2 extension is installed, log in as a user without script rights. Edit a document and set its syntax to Markdown. Then , add the content `\u003cscript\u003ealert(\"XSS\")\u003c/script\u003e` and refresh the page. If an alert appears containing \"XSS\", then the instance is vulnerable.\n\n### Patches\nThis has been patched in version 8.9 of the CommonMark Markdown Syntax 1.2 extension.\n\n### Workarounds\nWe\u0027re not aware of any workaround except upgrading.\n\n### References\n* https://jira.xwiki.org/browse/MARKDOWN-80\n* https://github.com/xwiki-contrib/syntax-markdown/commit/d136472d6e8a47981a0ede420a9096f88ffa5035",
"id": "GHSA-8g2j-rhfh-hq3r",
"modified": "2025-05-01T13:30:39Z",
"published": "2025-04-30T16:53:27Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/xwiki-contrib/syntax-markdown/security/advisories/GHSA-8g2j-rhfh-hq3r"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2025-46558"
},
{
"type": "WEB",
"url": "https://github.com/xwiki-contrib/syntax-markdown/commit/d136472d6e8a47981a0ede420a9096f88ffa5035"
},
{
"type": "PACKAGE",
"url": "https://github.com/xwiki-contrib/syntax-markdown"
},
{
"type": "WEB",
"url": "https://jira.xwiki.org/browse/MARKDOWN-80"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H",
"type": "CVSS_V3"
}
],
"summary": "org.xwiki.contrib.markdown:syntax-markdown-commonmark12 vulnerable to XSS via Markdown content"
}
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.