Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain editor/page-edit account
-
ExploitSave page with {{#info:}} plus malicious .smw-highlighter span
-
ExecutionVictim (admin) hovers element, data-* attr hits innerHTML
-
ImpactExecute JS to steal admin session/CSRF tokens
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 | Requires an account with page-edit (editor) privileges to store the payload - the malicious .smw-highlighter span is wikitext-authorable and survives the MediaWiki Sanitizer because data-content/data-title/data-top/data-bottom/data-theme are non-reserved data-* attributes. The ext.smw.tooltip ResourceLoader module must be loaded on the rendered page (the PoC uses a {{#info:message=...}} tag to force this). A victim must then hover the planted element (UI:P) for the onShow handler to assign the attribute value to innerHTML. The condition is present in DEFAULT configuration because allowHTML:true is hardcoded at ext.smw.tooltip.tippy.js:51 and the tooltip binds globally via tippy.delegate('#bodyContent',{target:'.smw-highlighter'}). LIMITING FACTORS: editor-level write access is needed to plant the payload, and victim hover interaction is required to trigger it - there is no unauthenticated or zero-interaction path. |
| Impact | This is a medium-severity stored XSS (CWE-79) with a moderate, conditional real-world risk rather than an urgent emergency. The input CVSS 4.0 base score is 5.3, with VC:L/VI:L and a subsequent-system scope impact (SC:L/SI:L) reflecting that code runs in the victim's authenticated session. There is NO CISA KEV listing and NO EPSS score in the provided data, so there is no signal of active or widespread exploitation; the vuln.today decision label is 'this_month' (not act_now/emergency), consistent with a patch-this-cycle priority. CONFLICT TO VERIFY: the supplied CVSS 4.0 vector states PR:N (unauthenticated), but the description and GHSA root-cause analysis are explicit that an *editor* (a user with page-edit rights) must plant the malicious .smw-highlighter span - this is an authenticated-write prerequisite, so PR:N understates the real barrier; treat the practical privilege requirement as editor-level, not anonymous. UI:P is accurate: a victim must hover the element for the payload to fire. The upside for an attacker is that the victim can be an administrator, turning a low-privilege editor foothold into admin-session/CSRF-token theft (a privilege-escalation-by-XSS pattern). Net: a genuine issue worth patching within the vendor's suggested cycle, but gated behind requiring an editor account plus victim interaction, which keeps it well below a drop-everything priority. |
| Exploit ScenarioDerived | An attacker who holds (or phishes/registers) an editor account saves a wiki page containing a {{#info:}} tag to force-load the tooltip module plus a crafted <span class="smw-highlighter" data-content="<img src=x onerror=...>">; when an administrator later views and hovers that element, the entity-decoded attribute is written to innerHTML via tippy's allowHTML:true sink and JavaScript executes in the admin's authenticated session, enabling CSRF-token theft and authenticated write-API abuse. A public PoC reference exists in the GHSA advisory (the exact wikitext payload), but it is not verified as working exploit code. Exploitation is not remote-unauthenticated: it requires editor privileges to store the payload and victim hover (UI:P) to trigger it. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
Stored cross-site scripting in the SemanticMediaWiki extension for MediaWiki (5.0.0 through 7.3.0) lets any user with page-edit rights plant a .smw-highlighter span whose data-content, data-title, data-top, data-bottom or data-theme attributes are concatenated unescaped into tippy tooltip content rendered with allowHTML:true, so arbitrary JavaScript runs in the session of any viewer - administrators included - who hovers the element. There is no unauthenticated or zero-interaction path: an editor account is needed to store the payload and the victim must hover the planted element for the onShow handler to write the decoded attribute into innerHTML, which is why the assessed vector is PR:L/UI:R/S:C (the vendor's CVSS 4.0 score of 5.3 does not credit the editor prerequisite). The issue is not in CISA KEV and no active exploitation is confirmed, but the upstream GitHub advisory publishes a proof-of-concept wikitext payload (not verified as working exploit code) and a fixed release, 7.3.1, is available.
RemediationAI
Vendor-released patch: upgrade SemanticMediaWiki to 7.3.1 (Composer constraint mediawiki/semantic-media-wiki >= 5.0.0, < 7.3.1 resolves to 7.3.1), following the GitHub advisory at https://github.com/SemanticMediaWiki/SemanticMediaWiki/security/advisories/GHSA-4wj6-wmjp-pmhh. If the upgrade cannot be applied immediately, the upstream suggested fix can be backported to res/smw/util/ext.smw.tooltip.tippy.js: set allowHTML: false for the tooltip, or escape the five attribute values (data-title, data-top, data-bottom, data-content, data-theme) before content assembly via mw.html.escape/textContent or pass the assembled string through DOMPurify - the trade-off is that legitimate HTML formatting already used inside existing tooltip content will render as literal text until content is adjusted. Because the payload can only be stored by a user with page-edit rights, temporarily narrowing who may edit pages that render the ext.smw.tooltip module reduces the population able to plant a .smw-highlighter element, but it does not remove the sink and does not protect administrators who later hover already-stored content. Note that SMW and default MediaWiki ship no Content-Security-Policy that would block inline event handlers, so CSP is not an out-of-the-box mitigation for this DOM injection.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
SemanticMediaWiki is a MediaWiki extension that adds semantic annotations to wikitext; its tooltip feature lives in the ResourceLoader module file res/smw/util/ext.smw.tooltip.tippy.js, which wraps the tippy.js library. The tooltip builder opts into raw HTML with allowHTML: true (line 51), and in the bundled tippy source that flag selects the sink function V(t,e){t.innerHTML=e} instead of textContent - tippy's own default is allowHTML:false, so this is a deliberate opt-in to an innerHTML sink. Five attacker-controllable attribute values read via getAttribute() are interpolated raw into that HTML string (data-title, data-top, data-bottom, data-content, plus data-theme, which is injected into the class attribute), and no mw.html.escape, textContent, escapeHTML or DOMPurify call exists anywhere in the file. The vulnerability class is CWE-79 (improper neutralization of input during web page generation - stored/DOM-executed XSS). The storage step survives MediaWiki's on-save Sanitizer because span/class are allowlisted and the data-* names match /^data-[^:]*$/ while not matching the reserved /^data-(ooui|mw|parsoid)$/i pattern, so the value is persisted entity-encoded and getAttribute() returns the decoded string at hover time. Because binding is global via tippy.delegate('#bodyContent', {target:'.smw-highlighter'}), the handler attaches to any planted element in page content provided the ext.smw.tooltip module is loaded (the PoC forces this with an {{#info:message=...}} tag). This is distinct from the earlier GHSA-hg8h-557g-q8pp (CVE-2025-61682) issue, which was in res/smw/ext.smw.js, used data-subtab and a JSON.parse-plus-innerHTML sink, and was fixed in 7.0.0; the tooltip file was never touched by that patch. The upstream report notes the tippy code has existed since @since 3.1, but only 7.0.0, 7.2.0, 7.2.1 and 7.3.0 were verified against local tags, so versions below 5.0.0 are not confirmed by the CPE/affected-version data.
Know when Semanticmediawiki 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N
PR:L because an editor account is required to store the payload; UI:R for the required hover; S:C and C:L/I:L as code runs in the victim's (admin) authenticated browser session.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
1DescriptionCVE.org
SemanticMediaWiki from 5.0.0 before 7.3.1 contains a stored cross-site scripting vulnerability in ext.smw.tooltip.tippy.js that renders data-* attributes via innerHTML with allowHTML enabled. Editors can plant a .smw-highlighter span with a malicious data-content, data-title, data-top, data-bottom, or data-theme attribute to execute JavaScript when viewers, including administrators, hover it.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
More in Semanticmediawiki
View allStored cross-site scripting in Semantic MediaWiki 3.1.0 through 6.x lets users with the MediaWiki 'edit' right inject ar
Semantic MediaWiki before 7.3.1 exposes Special:PropertyLabelSimilarity without an administrator restriction, and a call
Semantic MediaWiki 2.5.0 through 7.3.0 lets an editor with ordinary page-edit permission exhaust server CPU, memory and
Quadratic CPU consumption in Semantic MediaWiki's term parser gives unauthenticated visitors a way to tie up PHP search
Unauthenticated CPU and memory exhaustion in Semantic MediaWiki 3.0.0 up to (but not including) 7.3.1 allows remote atta
Cross-site request forgery in Semantic MediaWiki's Special:SMWAdmin page allows an attacker to drive destructive mainten
Semantic MediaWiki 2.5.0 through 7.3.1-alpha applies annotation-driven page protection without any authorization check,
Missing authorization in the Semantic MediaWiki smwtask API module allows unauthenticated remote visitors to invoke main
Semantic MediaWiki 7.3.0 through 7.3.1-alpha fails to authorize the target page in its smwtask update task, letting a ca
Missing authorization in Semantic MediaWiki 7.3.0 lets unauthenticated remote callers run queued maintenance jobs of arb
Reflected cross-site scripting in Semantic MediaWiki 7.0.0 through 7.1.0 lets an unauthenticated attacker execute arbitr
Reflected cross-site scripting in Semantic MediaWiki 7.1.0 and earlier lets an unauthenticated remote attacker inject ar
EUVD-2026-110712
GHSA-h32m-8349-hq44
NVD
CVE.org
EPSS
Exploit-DB