Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain page-edit rights on target wiki
-
DeliveryDeclare property as type Code
-
ExploitStore JSON value embedding HTML/JS payload
-
ExecutionVictim views Special:Browse for the subject
-
PersistJSON pretty-printer emits markup unescaped
-
ImpactScript executes in viewer's authenticated session
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 Semantic MediaWiki installed and enabled, plus an account with ordinary page-edit rights (no special right is needed because the Code type is user-selectable from the contextual type group); on wikis that permit anonymous editing this becomes reachable without authentication. The attacker must declare a property of type Code and store a value that begins with '{' and parses as valid JSON while embedding HTML in a JSON string - the '{'-prefix JSON branch is what routes to the vulnerable asJson() path (non-JSON Code values are escaped and are not exploitable). Exploitation is LIMITED by required passive victim interaction (UI:P): a payload fires only when another user actually opens Special:Browse for the annotated subject, so there is no automatic server-side execution. Impact escalation to administrator actions depends on a privileged user viewing the specific annotated page and is described by the vendor as plausible, not demonstrated. |
| Impact | This is a medium-severity stored XSS (CVSS 4.0 base 5.3) whose real-world risk is moderate and bounded, not a top-tier emergency. The signals are internally consistent and point to limited, non-automated exploitation: the input CVSS 4.0 vector is AV:N/AC:L/AT:N/PR:N/UI:P, meaning network-reachable and low-complexity but requiring passive user interaction (a victim must view the annotated Special:Browse page), with only Low confidentiality and integrity impact and no availability impact. The vendor priority Decision label is 'this_month' (not act_now/emergency), which aligns with a stored client-side flaw rather than a wormable server compromise. KEV status is not present in the input, so this is 'no public exploit identified' in the active-exploitation sense - BUT a public PoC reference exists: the GHSA advisory (GHSA-6v7f-crgp-hhvp) and the VulnCheck advisory contain full step-by-step reproduction; this PoC reference is not verified here as packaged, working standalone exploit code. No EPSS score was provided, so exploitation probability cannot be quantified from the input - STATE EXPLICITLY: EPSS missing. There is a notable data conflict on fix state: the description, EUVD, and the final metadata line say the flaw is fixed in 7.3.1 and a vendor patch is 'Available', yet the GitHub source-code evidence snapshot states 'not fixed / no fixed release exists at time of review' with 7.3.0 as latest checked - the source-review snapshot predates the 7.3.1 fix, so treat 7.3.1 as the authoritative fixed version but verify against the current vendor release. The PR metric also warrants scrutiny: the input used PR:N reflecting wikis that allow anonymous editing, but the advisory states exploitation normally requires ordinary page-edit rights, so on authenticated-edit wikis a low privilege is in fact required. Net: a credible, documented, but interaction-dependent and privilege-dependent vulnerability - patch on the normal cycle, prioritize if anonymous editing is enabled or privileged users routinely browse user-annotated subjects. |
| Exploit ScenarioDerived | On a wiki running Semantic MediaWiki, an attacker with page-edit rights (or any anonymous user where open editing is enabled) declares a property of type Code and annotates a JSON value embedding markup, e.g. [[Example::{"x":"<img src=x onerror=alert(document.domain)>"}]]. When another user - potentially an administrator - later opens Special:Browse for that subject, the CodeStringValueFormatter emits the markup unescaped and the script runs in the viewer's authenticated session under the wiki origin. A detailed public PoC reference is included in the GHSA advisory; it is not verified here as standalone working exploit code. |
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 Semantic MediaWiki (2.5.0 through 7.3.0) lets a user with ordinary page-edit rights - and, on wikis that permit anonymous editing, an unauthenticated visitor - store HTML inside a Code-typed property value, which is later rendered unescaped by Special:Browse and executes JavaScript in the browser of anyone who views that page. The assessed vector (CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N) puts this at medium severity: the payload never executes server-side and fires only after a victim passively opens Special:Browse for the annotated subject, so impact is bounded to viewer sessions, with escalation to administrator actions described as plausible rather than demonstrated. A reproduction is published in the vendor's GitHub advisory, and the fix ships in Semantic MediaWiki 7.3.1; there is no CISA KEV listing and no confirmed report of active exploitation.
RemediationAI
Vendor-released patch: upgrade Semantic MediaWiki to 7.3.1 (composer package mediawiki/semantic-media-wiki, fixed in 7.3.1), which is the version in which the JSON branch of CodeStringValueFormatter::asJson() is expected to escape tag characters (the advisory's suggested fix is to add JSON_HEX_TAG, and optionally JSON_HEX_AMP | JSON_HEX_APOS | JSON_HEX_QUOT, to the json_encode call, or to apply consistent escaping at the emission boundary where formatter output is inserted as an element body). Until the upgrade is deployed, the mitigations named in the advisory are to restrict which users may declare Code-typed properties and which may edit annotated pages - effective at the cost of narrowing normal wiki collaboration and requiring ongoing review of existing Code-typed annotations - and to deploy a Content Security Policy that blocks inline event-handler execution, which reduces payload execution but may break existing legitimate inline scripts and does not remove the stored markup. Because the payload only fires when a user opens Special:Browse for the annotated subject, limiting exposure of that page reduces, but does not eliminate, the attack surface. The vulnerability is not listed in CISA KEV and active exploitation has not been confirmed, so remediation can follow the vendor advisory timeline rather than an emergency response.
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
The flaw is a classic CWE-79 output-encoding defect in Semantic MediaWiki's server-side value formatter for properties of type Code. Property values are stored verbatim as a Blob with no tag stripping or HTML encoding (only property names are stripped), so the stored value is fully attacker-controlled. On render, SMW\DataValues\ValueFormatters\CodeStringValueFormatter::doFormat() dispatches any value that begins with '{' and parses as JSON to asJson(), which calls json_encode with JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE and omits JSON_HEX_TAG, allowing '<' and '>' to survive into the output; the sibling non-JSON branch of the same formatter explicitly maps '<' to < and '>' to >, so non-JSON Code values are escaped and are not exploitable. The base StringValueFormatter escaping is bypassed because the Code formatter overrides doFormat() and does not invoke it on the HTML_LONG Browse path. The pretty-printed result is then emitted unescaped as an element body: HtmlBuilder.php wraps it in Html::rawElement, templates/FactboxProperty.mustache emits it through the unescaped {{{html-values}}} field, and SpecialBrowse.php adds the HTML with no parser or sanitizer stage. The Code type is user-selectable from the user-facing 'contextual' type group, so no special right is needed to declare it. The CPE cpe:2.3:a:semanticmediawiki:semanticmediawiki:*:*:*:*:*:*:*:* and the EUVD range (2.5.0 before 7.3.1) match the confirmed affected range >= 2.5.0, <= 7.3.0; 7.3.1-alpha is also affected. This is a distinct issue from CVE-2025-61682, which is a client-side tooltip data-attribute sink.
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
Stored XSS needs page-edit rights (PR:L; PR:N only on anonymous-edit wikis) and a victim viewing Browse (UI:R); script in victim origin changes authority (S:C) with Low C/I and no availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
1DescriptionCVE.org
SemanticMediaWiki from 2.5.0 before 7.3.1 contains a stored cross-site scripting vulnerability that allows users with page-edit rights to inject script through Code-typed property values. Attackers can annotate a valid JSON value embedding HTML markup, which the CodeStringValueFormatter renders unescaped on Special:Browse, executing JavaScript in viewers' sessions.
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-110717
GHSA-x3g7-fw87-vwjc
NVD
CVE.org
EPSS
Exploit-DB