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.
Link | Tags |
---|---|
https://phabricator.wikimedia.org/T272386 | exploit patch vendor advisory |
https://www.debian.org/security/2021/dsa-4889 | third party advisory vendor advisory |
https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/26UJGHF7LJDOCQN6A3Z4PM7PYRKENJHE/ | vendor advisory |
https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/2OMSV7B2TCFBOCICN3B4SMQP5HVRJQIT/ | vendor advisory |
https://lists.debian.org/debian-lts-announce/2021/05/msg00003.html | third party advisory mailing list |
https://lists.debian.org/debian-lts-announce/2021/05/msg00006.html | third party advisory mailing list |
https://security.gentoo.org/glsa/202107-40 | third party advisory vendor advisory |