An issue was discovered in MediaWiki before 1.31.12 and 1.32.x through 1.35.x before 1.35.2. Users can bypass intended restrictions on deleting pages in certain "fast double move" situations. MovePage::isValidMoveTarget() uses FOR UPDATE, but it's only called if Title::getArticleID() returns non-zero with no special flags. Next, MovePage::moveToInternal() will delete the page if getArticleID(READ_LATEST) is non-zero. Therefore, if the page is missing in the replica DB, isValidMove() will return true, and then moveToInternal() will unconditionally delete the page if it can be found in the master.
Advisories
Source ID Title
Debian DLA Debian DLA DLA-2648-1 mediawiki security update
Debian DLA Debian DLA DLA-2648-2 mediawiki regression update
Debian DSA Debian DSA DSA-4889-1 mediawiki security update
EUVD EUVD EUVD-2021-17095 An issue was discovered in MediaWiki before 1.31.12 and 1.32.x through 1.35.x before 1.35.2. Users can bypass intended restrictions on deleting pages in certain "fast double move" situations. MovePage::isValidMoveTarget() uses FOR UPDATE, but it's only called if Title::getArticleID() returns non-zero with no special flags. Next, MovePage::moveToInternal() will delete the page if getArticleID(READ_LATEST) is non-zero. Therefore, if the page is missing in the replica DB, isValidMove() will return true, and then moveToInternal() will unconditionally delete the page if it can be found in the master.
Fixes

Solution

No solution given by the vendor.


Workaround

No workaround given by the vendor.

History

No history.

cve-icon MITRE

Status: PUBLISHED

Assigner: mitre

Published:

Updated: 2024-08-03T22:24:59.632Z

Reserved: 2021-04-06T00:00:00

Link: CVE-2021-30159

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Modified

Published: 2021-04-09T07:15:16.277

Modified: 2024-11-21T06:03:25.443

Link: CVE-2021-30159

cve-icon Redhat

Severity : Moderate

Publid Date: 2021-04-08T00:00:00Z

Links: CVE-2021-30159 - Bugzilla

cve-icon OpenCVE Enrichment

No data.