CVE-2020-25815
Description
An issue was discovered in MediaWiki 1.32.x through 1.34.x before 1.34.4. LogEventList::getFiltersDesc is insecurely using message text to build options names for an HTML multi-select field. The relevant code should use escaped() instead of text().
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
In MediaWiki 1.32.x-1.34.x, LogEventList::getFiltersDesc insecurely uses unescaped message text to build HTML multi-select option names, enabling potential XSS.
The vulnerability resides in the LogEventList::getFiltersDesc method, which constructs HTML option names for a multi-select field using raw message text via ->text() instead of ->escaped(). This means any message content (including dynamic parameters) is injected directly into the HTML without escaping, making the page susceptible to cross-site scripting (XSS) if an attacker can control the message text [1][2].
The attack surface includes any page that renders the log event filter multi-select element, such as Special:Log or similar logging interfaces. An attacker would need the ability to influence the message string that is used as the label for a filter option—this could potentially be achieved through crafted log entries or by exploiting another vulnerability that allows message manipulation. No special authentication role beyond having access to the log page is required to trigger the XSS when the unescaped message is rendered [2][4].
If an attacker successfully injects malicious script content into the message text, it would execute in the context of the victim's browser session. This could lead to session hijacking, defacement, or theft of sensitive data displayed on the page. The impact is consistent with reflected or stored XSS, depending on how the message is sourced, and could affect any user viewing the affected filter interface [3].
MediaWiki addressed this issue in version 1.34.4 (and the earlier 1.34.3 release also includes the fix) by replacing text() with escaped() in the relevant code, ensuring that all dynamic output is properly HTML-escaped [2][4]. The patch also removes an outdated conditional check that was left over from a previous resolved task (T199657), simplifying the logic while improving security [2]. Administrators should upgrade to a fixed version immediately; no workaround is recommended.
AI Insight generated on May 21, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
mediawiki/corePackagist | >= 1.32.0, < 1.34.3 | 1.34.3 |
mediawiki/corePackagist | >= 1.35.0-rc.0, < 1.35.0 | 1.35.0 |
Affected products
2- osv-coords2 versions
>= 1.32.0, < 1.34.4+ 1 more
- (no CPE)range: >= 1.32.0, < 1.34.4
- (no CPE)range: >= 1.32.0, < 1.34.3
Patches
0No patches discovered yet.
Vulnerability mechanics
AI mechanics synthesis has not run for this CVE yet.
References
9- github.com/advisories/GHSA-2f58-vf6g-6p8xghsaADVISORY
- lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/RTTPZ7XMDS66I442OLLHXBDNP2LCBJU6/mitrevendor-advisoryx_refsource_FEDORA
- nvd.nist.gov/vuln/detail/CVE-2020-25815ghsaADVISORY
- gerrit.wikimedia.org/g/mediawiki/core/+/ec76e14be658187544f07c1a249a047e1a75eaf8/includes/logging/LogEventsList.phpghsax_refsource_MISCWEB
- github.com/FriendsOfPHP/security-advisories/blob/master/mediawiki/core/CVE-2020-25815.yamlghsaWEB
- lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/RTTPZ7XMDS66I442OLLHXBDNP2LCBJU6ghsaWEB
- lists.wikimedia.org/pipermail/mediawiki-l/2020-September/048480.htmlghsax_refsource_CONFIRMWEB
- lists.wikimedia.org/pipermail/mediawiki-l/2020-September/048488.htmlghsax_refsource_MISCWEB
- phabricator.wikimedia.org/T256171ghsaWEB
News mentions
0No linked articles in our index yet.