Skip to main content

Semantic MediaWiki EUVDEUVD-2026-83186

| CVE-2026-77610 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-09-18 GitHub_M GHSA-q5fm-9mx6-44f4
6.1
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft Special:Ask URL with script in _txt query
  2. Delivery
    Deliver link to wiki user
  3. Exploit
    Victim loads reflected debug output
  4. Execution
    Unescaped payload executes in wiki origin
  5. Impact
    Steal session/act as victim

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Reflected XSS reachable by anonymous, unauthenticated users against default Semantic MediaWiki installs (<=7.1.0): no special user right, account, or attacker-created wiki content is needed because the predefined _txt properties (e.g. Text) ship on every install and satisfy the required text/blob-typed property condition. The specific trigger is the query debug path - format=debug or the debug request parameter on Special:Ask - whose DebugFormatter sinks (buildHTML, prettifySQL, prettifyExplain) emit attacker-controlled query literals as raw HTML via OutputPage::addHTML, bypassing the MediaWiki parser/Sanitizer. LIMITING factors: exploitation requires user interaction (the victim must open a crafted link), so it is not wormable/self-propagating; the inline {{#ask:|format=debug}} path is NOT vulnerable (output is sanitized in parser context), and the prettifySPARQL sink is unaffected - only the Special:Ask reflected path is exposed.

Impact

Signals are internally consistent and point to a genuine-but-moderate risk. The vendor CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N = 6.1) matches a textbook reflected XSS: network-reachable, low complexity, no privileges, but requiring victim interaction (clicking/loading a crafted Special:Ask URL) and scope change (script executes in the wiki's origin). No EPSS score, KEV entry, or independent POC-in-the-wild signal was provided, so exploitation status is 'no public exploit identified at time of analysis' - though the GHSA advisory does publish a working payload (Special:Ask?q=[[Text::<script>alert(document.domain)</script>]]&debug=1), which lowers the bar for weaponization even absent a packaged exploit. This is a real, patch-worthy priority for any internet-facing SMW wiki (session/cookie theft, admin account takeover via a trusted-origin script) but not a mass-exploitation emergency: it is UI:R (needs a victim to open the link) and impact is C:L/I:L with no availability effect. No conflicting signals detected; the description ('anonymous request suffices') aligns with PR:N.

Exploit ScenarioDerived

An attacker crafts a Special:Ask debug URL embedding a script payload in a text-typed property condition (e.g. q=[[Text::<script>...</script>]]&debug=1) and sends it to a wiki user via phishing/chat/forum. When the victim opens the link, the unescaped DebugFormatter output reflects the payload into the page through OutputPage::addHTML and the script runs in the wiki's origin, enabling session-cookie theft or actions as the victim. A working proof-of-concept request is published in the GHSA advisory, though no in-the-wild exploitation is confirmed.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 18, 2026

Reflected cross-site scripting in Semantic MediaWiki 7.1.0 and earlier lets an unauthenticated remote attacker inject arbitrary markup into the query debug output rendered on Special:Ask, executing JavaScript in the browser of a victim who follows a crafted link. No account, privilege, or attacker-created wiki content is required: the predefined text-type properties such as Text (_txt) that ship on every default install satisfy the property-type condition the payload needs, so a URL like Special:Ask?q=[[Text::<script>...</script>]]&debug=1 is sufficient. The CVSS:3.1 vector AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N yields a 6.1 base score, reflecting a scope-changing, low-impact script injection that depends on user interaction and is therefore not self-propagating or wormable; no public exploit code has been identified at time of analysis, and the issue is not confirmed actively exploited (no CISA KEV listing). Vendor-released patch: 7.2.0.

RemediationAI

Upgrade Semantic MediaWiki to version 7.2.0, the vendor-released patch that fixes this issue (release notes: https://github.com/SemanticMediaWiki/SemanticMediaWiki/releases/tag/7.2.0; advisory: https://github.com/SemanticMediaWiki/SemanticMediaWiki/security/advisories/GHSA-q5fm-9mx6-44f4). The fix applies output-context escaping at the DebugFormatter boundary, escaping each entry value on emission as well as the SQL and EXPLAIN strings before they are wrapped; note that escaping only the echoed query string would be insufficient because prettifySQL() and the auxiliary-tables executed-query text carry the same attacker-controlled literals, so partial patching or ad-hoc input filtering is not a substitute for the upgrade. If upgrading immediately is not possible, the practical compensating control is to remove the exposed rendering path rather than attempt to sanitize it: block or strip the debug request parameter on Special:Ask at the reverse proxy or WAF (for example reject requests to Special:Ask containing debug=1 combined with angle-bracket or script-like content in the q parameter), or restrict access to Special:Ask to trusted/authenticated editors by ACL or web-server rules. The trade-off is loss of the interactive query debugging and EXPLAIN functionality for the affected users, and WAF pattern matching is easily bypassed via alternate encodings, so these measures are temporary only. Do not rely on the inline {{#ask:|format=debug}} path as a safe substitute for analysis; it is sanitized in parser context and therefore not vulnerable, but it also does not exercise the same reflected code path. Because exploitation requires the victim to open a crafted link (UI:R), user awareness and link-filtering in mail or chat clients reduces exposure but does not eliminate it.

Affected VersionsENISA

SemanticMediaWiki < 7.2.0

Affected Packages

composer mediawiki/semantic-media-wiki fix: 7.2.0
euvd semanticmediawiki fix: 7.2.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in composer, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Semantic MediaWiki (SMW) is an open-source MediaWiki extension that stores structured data in wiki pages via annotated properties and exposes it through ASK queries; queries can be debugged either with inline {{#ask:...|format=debug}} or, notably, through the debug request parameter on the Special:Ask page. The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation), specifically a missing output-context encoding boundary in the SMW\Query\DebugFormatter class. The debug string is assembled from several sinks that echo attacker-controlled query literals: buildHTML() re-serializes the ASK query escaping only the [ character so that <, >, ", and ' survive; prettifySQL() returns the generated SQL verbatim, with value literals inlined through the database layer's quoting, which is SQL-escaping only and preserves HTML markup; and prettifyExplain() echoes EXPLAIN output, which on PostgreSQL includes the WHERE-clause literals. The resulting string is concatenated into the Special:Ask page and emitted via OutputPage::addHTML, bypassing the MediaWiki parser and Sanitizer entirely, so no contextual HTML escaping is applied. The CPE record cpe:2.3:a:semanticmediawiki:semanticmediawiki:*:*:*:*:*:*:*:* is a version-agnostic wildcard consistent with the advisory's affected range of <= 7.1.0. Two boundaries are worth noting: the prettifySPARQL() sink already encodes < and > and is not affected, and the inline {{#ask:|format=debug}} path returns its output into parser context where it is sanitized, so only the reflected Special:Ask path is exposed.

Know when Mediawiki gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 6.1 MEDIUM
AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
vuln.today AI 6.1 MEDIUM

Anonymous network request (AV:N/PR:N), simple crafted URL (AC:L), victim must load the link (UI:R), script escapes into wiki origin (S:C) yielding limited confidentiality/integrity (C:L/I:L) and no availability impact.

3.1 AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None

Lifecycle Timeline

1
Patch available
Sep 18, 2026 - 18:03 EUVD

DescriptionCVE.org

Semantic MediaWiki is a free, open-source extension to MediaWiki that lets users store and query data within the wiki's pages. Prior to version 7.2.0, query debug output (format=debug, or the debug request parameter on Special:Ask) is assembled by SMW\Query\DebugFormatter and emitted as raw HTML. Several of its sinks apply no output-context encoding, so attacker-controlled query input is reflected into the page without escaping. On Special:Ask the resulting string is concatenated into the page and sent through OutputPage::addHTML, never through the MediaWiki parser or Sanitizer. No special user right is required; an anonymous request suffices. This is a reflected XSS: the payload is taken from the request and echoed in the same response. Exploitation requires the query condition to target a text/blob-typed property (whose value is re-serialized verbatim); the predefined _txt properties (Text, etc.) that ship on every install satisfy this, so no attacker-created content is needed. Version 7.2.0 patches the issue.

Threat Intelligence Overview

EPSS Score
0.2%
Top 95% exploitable
Prevalence
Medium
popular MediaWiki extension, common on data-driven wikis but not universal
Threat Intel
1
1 source
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +30
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

CVE-2014-1610 MEDIUM POC
6.0 Jan 30

MediaWiki 1.22.x before 1.22.2, 1.21.x before 1.21.5, and 1.19.x before 1.19.11, when DjVu or PDF file upload support is

CVE-2015-8009 CRITICAL POC
9.8 Jul 25

The MWOAuthDataStore::lookup_token function in Extension:OAuth for MediaWiki 1.25.x before 1.25.3, 1.24.x before 1.24.4,

CVE-2023-37303 CRITICAL POC
9.8 Jun 30

An issue was discovered in the CheckUser extension for MediaWiki through 1.39.3. Rated critical severity (CVSS 9.8), thi

CVE-2022-29906 CRITICAL POC
9.8 Apr 29

The admin API module in the QuizGame extension for MediaWiki through 1.37.2 (before 665e33a68f6fa1167df99c0aa18ed0157cdf

CVE-2022-29904 CRITICAL POC
9.8 Apr 29

The SemanticDrilldown extension for MediaWiki through 1.37.2 (before e688bdba6434591b5dff689a45e4d53459954773) allows SQ

CVE-2022-28206 CRITICAL POC
9.8 Mar 30

An issue was discovered in MediaWiki through 1.37.1. Rated critical severity (CVSS 9.8), this vulnerability is remotely

CVE-2022-28205 CRITICAL POC
9.8 Mar 30

An issue was discovered in MediaWiki through 1.37.1. Rated critical severity (CVSS 9.8), this vulnerability is remotely

CVE-2021-36128 CRITICAL POC
9.8 Jul 02

An issue was discovered in the CentralAuth extension in MediaWiki through 1.36. Rated critical severity (CVSS 9.8), this

CVE-2021-36126 CRITICAL POC
9.8 Jul 02

An issue was discovered in the AbuseFilter extension in MediaWiki through 1.36. Rated critical severity (CVSS 9.8), this

CVE-2017-8809 CRITICAL
9.8 Nov 15

api.php in MediaWiki before 1.27.4, 1.28.x before 1.28.3, and 1.29.x before 1.29.2 has a Reflected File Download vulnera

CVE-2024-47849 HIGH POC
8.8 Oct 05

Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') vulnerability in The Wikimedia Foun

CVE-2021-36132 HIGH POC
8.8 Jul 02

An issue was discovered in the FileImporter extension in MediaWiki through 1.36. Rated high severity (CVSS 8.8), this vu

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy