CreateWiki is Mirahezes MediaWiki extension for requesting & creating wikis. It is possible for users to be considered as the requester of a specific wiki request if their local user ID on any wiki in a wiki farm matches the local ID of the requester at the wiki where the wiki request was made. This allows them to go to that request entrys on Special:RequestWikiQueue on the wiki where their local user ID matches and take any actions that the wiki requester is allowed to take from there.
Commit 02e0f298f8d35155c39aa74193cb7b867432c5b8 fixes the issue. Important note about the fix: This vulnerability has been fixed by disabling access to the REST API and special pages outside of the wiki configured as the global wiki in $wgCreateWikiGlobalWiki
in a users MediaWiki settings.
As a workaround, it is possible to disable the special pages outside of ones own global wiki by doing something similar to miraheze/mw-config
commit e5664995fbb8644f9a80b450b4326194f20f9ddc that is adapted to ones own setup. As for the REST API, before the fix, there wasnt any REST endpoint that allowed one to make writes. Regardless, it is possible to also disable it outside of the global wiki by using $wgCreateWikiDisableRESTAPI
and $wgConf
in the configuration for ones own wiki farm..
The product performs an authorization check when an actor attempts to access a resource or perform an action, but it does not correctly perform the check. This allows attackers to bypass intended access restrictions.
Assuming a user with a given identity, authorization is the process of determining whether that user can access a given resource, based on the user’s privileges and any permissions or other access-control specifications that apply to the resource. When access control checks are incorrectly applied, users are able to access data or perform actions that they should not be allowed to perform. This can lead to a wide range of problems, including information exposures, denial of service, and arbitrary code execution.