Semantic MediaWiki affected by reflected XSS in `Special:Ask` via a forged cursor pagination token
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| SemanticMediaWiki | SemanticMediaWiki | affected |
|
No data.
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Semantic-mediawiki | Semantic Mediawiki |
|
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-cx86-7xwp-w9wf | Semantic MediaWiki affected by reflected XSS in `Special:Ask` via a forged cursor pagination token |
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.330% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Semantic-mediawiki
Semantic-mediawiki semantic Mediawiki |
|
| Vendors & Products |
Semantic-mediawiki
Semantic-mediawiki semantic Mediawiki |
| Type | Values Removed | Values Added |
|---|---|---|
| Description | Semantic MediaWiki is a free, open-source extension to MediaWiki that lets users store and query data within the wiki's pages. In versions 7.0.0 through 7.1.0, `Special:Ask` accepts a `cursor` query parameter for keyset pagination (added in 7.0.0). The token is decoded by `CursorEncoder`, which is an **unsigned** base64url-encoded JSON blob, so its contents are fully attacker-controlled. When the cursor's sort anchor does not match the request's `sort=` / `order=`, `QueryCreator::applyCursorIfRequested()` builds an error message by interpolating the attacker-controlled `sort_prop` / `sort_order` values into a raw string via `Query::addErrors()`. Unlike SMW's message-key errors, this raw string bypasses the message layer's sanitization (`ProcessingErrorMsgHandler::normalizeAndDecodeMessages()` passes a non-key, non-encoded string through unchanged). `ErrorWidget::queryError()` then assembles the errors and passes them to `Html::errorBox()`, whose first argument is emitted as raw HTML. The result is a reflected cross-site scripting vulnerability: a crafted `cursor` token containing markup in `sort_prop` (or `sort_order`) executes script in the victim's browser on the wiki origin. No authentication or special permission is required. The payload is delivered via a crafted link. Version 7.2.0 contains a fix. | |
| Title | Semantic MediaWiki affected by reflected XSS in `Special:Ask` via a forged cursor pagination token | |
| Weaknesses | CWE-79 | |
| References |
| |
| Metrics |
cvssV3_1
|