Cross-site Scripting (XSS)Weakness · CWE-79

CVE-2026-39933

MEDIUM · 6.9 CVSS v4.0 Published 2026-04-07
Mitigation only
No fix yet — a mitigation exists. There is no fixed release. A documented workaround reduces exposure in the meantime.
See remediation →
78/100
Remediation priority · High
Remotely reachable No privileges Zero-click

Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.

NVD · unedited
Improper neutralization of input during web page generation ('cross-site scripting') vulnerability in The Wikimedia Foundation Mediawiki - GlobalWatchlist Extension allows Cross-Site Scripting (XSS). The issue has been remediated on the `master` branch, and in the release branches for MediaWiki versions 1.43, 1.44, and 1.45.

Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.

dbcve analysis · high confidence

A Cross-Site Scripting (XSS) vulnerability exists in the GlobalWatchlist extension for MediaWiki. The vulnerability allows improper neutralization of input during web page generation, potentially enabling attackers to inject malicious scripts into pages viewed by other users.

MitigationApply the patched version of the GlobalWatchlist extension from the master branch or the appropriate release branch (1.43, 1.44, or 1.45) corresponding to the MediaWiki version in use.

Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.

CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.

From the vector
Attack vector
Network
Complexity
Low
Privileges
None
Authentication
X
User interaction
None
Scope
X

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/SC:L/SI:L/SA:L/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.

dbcve checks

Work through these to decide whether this CVE applies to you.

  1. Confirm GlobalWatchlist extension is installed
    Look for the GlobalWatchlist extension directory in your MediaWiki extensions folder (typically /extensions/GlobalWatchlist or similar). Check for the presence of extension.json or composer.json file in that directory.
    Affected if The GlobalWatchlist extension directory exists and contains extension files.
  2. Determine GlobalWatchlist extension version
    Open the extension.json or version file within the GlobalWatchlist extension directory and read the version number. Alternatively, check the composer.json file for version information.
    Affected if The extension version is older than the patched versions (prior to the fix released in MediaWiki 1.43/1.44/1.45).
  3. Verify extension is enabled in MediaWiki configuration
    Check your LocalSettings.php file for a line like 'wfLoadExtension( GlobalWatchlist::class )' or 'require_once "$IP/extensions/GlobalWatchlist/GlobalWatchlist.php";' to confirm the extension is actively loaded.
    Affected if The extension is enabled and loaded by MediaWiki.
  4. Check if watchlist functionality is accessible
    Access the Special:GlobalWatchlist page on your MediaWiki installation (usually at /wiki/Special:GlobalWatchlist) to confirm the feature is active and user-accessible.
    Affected if The special page is accessible and the watchlist feature is functional for users.
  5. Review user-supplied input rendering
    If you can inspect the extension code, look for instances where user-provided data (such as usernames, edit summaries, or page titles) is output without using MediaWiki's escaping functions like htmlspecialchars or wfMessage.
    Affected if The extension renders user-supplied content without proper sanitization, allowing script injection.

A user is affected if the GlobalWatchlist extension is installed, enabled, running a version prior to the patched releases, and the watchlist feature is accessible to users who could inject malicious scripts through unsanitized input fields.

Generated from the published advisory. Verify against your own configuration.

Check your environment

Paste your version and any relevant configuration and it will be compared against the affected criteria above. Do not include secrets or credentials.

AI-assisted, checked against the advisory. Informational, not a guarantee.

Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.

dbcve · scoped
Mitigation available No clean upgrade yet — mitigate in the meantime
Mitigation

Apply the patched version of the GlobalWatchlist extension from the master branch or the appropriate release branch (1.43, 1.44, or 1.45) corresponding to the MediaWiki version in use.

Recommended fix Moderate confidence

MediaWiki 1.43, 1.44, or 1.45 (upgrade to the latest stable release)

  1. Identify the current MediaWiki version in use by checking the version page or configuration
  2. Check if the GlobalWatchlist extension is installed by examining the extensions directory
  3. Upgrade MediaWiki to version 1.43, 1.44, or 1.45 (whichever is the latest stable release available in your maintenance schedule)
  4. After upgrading, verify the GlobalWatchlist extension is updated to the patched version by reviewing the extension's version file
  5. Test the GlobalWatchlist functionality to ensure the upgrade did not introduce regressions
  6. Clear any caching systems to ensure the patched code is served

Generated from the published advisory — verify against the referenced sources before acting.

Have this fixed Scoped from the published advisory
  • Consultation2.0 h
  • Implementation3.0 h
  • Testing3.0 h
  • Review / QA2.0 h
10.0 hours of engineering $1,750
Get help mitigating

An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $2,800.

Scan for this in your stack

Free · runs locally
dbcve dependency scanner

Check whether your project pulls in CVE-2026-39933 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.

References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.

Primary sources

Practitioner notes

Contributed

Peer-ranked notes from engineers who’ve handled CVE-2026-39933 in production — separate from our analysis above.

No notes yet

Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.

What this is

A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.

What belongs here
  • Verified mitigations, workarounds, and config changes
  • Version or environment caveats, and links to real fixes
  • No weaponised exploit code, or anything meant to cause harm
  • No spam, self-promotion, credentials, or personal data