Semantic MediaWiki has an open redirect in Special:URIResolverGHSA-hw3m-8j5x-94ff
MEDIUMGHSA-hw3m-8j5x-94ff is a medium-severity (CVSS 6.1) Open Redirect vulnerability in mediawiki/semantic-media-wiki. A fix is available for mediawiki/semantic-media-wiki — see the affected versions and patch details below.
Exploitation Status
No confirmed exploitation observed yet
- CISA’s own triage has not observed active exploitation or public proof-of-concept code for this CVE as of its last assessment.
Exploitation and automatability from CISA’s SSVC triage for GHSA-hw3m-8j5x-94ff.
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
How urgent is this, really
Where this sits among everything scored
Real-World Exposure
mediawiki/semantic-media-wikiReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects Packagist packages — download data is not available via public APIs for these ecosystems.
Description
Failure mode
Special:URIResolver resolves its user-controlled subpage to a MediaWiki title and issues an HTTP 303 redirect to $title->getFullURL() without validating the resolved target. A crafted subpage can make that target point off-host: an interwiki prefix redirects to the foreign wiki (for example Special:URIResolver/mw-3AFoo, which decodes to mw:Foo, redirects to https://www.mediawiki.org/wiki/Foo), and where the resolved URL carries an authority the target can even embed user:pass@host credentials. The result is an open redirect to an attacker-influenced host, usable for phishing from a trusted wiki URL.
Remediation
- The resolved target URL is parsed and compared against the current host at the redirect sink.
- The redirect is rejected (bad-title error page) when a user or pass component is present, or when the host does not match the current host.
Maintenance note
Redirect code must validate the final target URL, not just the input path. Host comparison belongs at the redirect sink: each sink (special page, entry point) must validate its own target rather than relying on upstream normalisation.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 🐘Packagist | mediawiki/semantic-media-wiki | all versions | 7.2.0composer require mediawiki/semantic-media-wiki:^7.2.0 |
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for mediawiki/semantic-media-wiki, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update mediawiki/semantic-media-wiki to 7.2.0 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-hw3m-8j5x-94ff is resolved across your whole dependency graph.
Workarounds
Stop reflecting attacker-controlled destinations: resolve every redirect target against an allowlist of paths or hosts you own, prefer a server-side key over a full URL in the request, and reject absolute URLs entirely where the flow only ever needs a relative one.
Frequently Asked Questions
Is GHSA-hw3m-8j5x-94ff in your dependencies?
Find it across Packagist, including transitive dependencies.