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.
{
"unresolved_ranges": [
{
"source": "CPE_FIELD",
"cpe": "cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:*",
"extracted_events": [
{
"last_affected": "10.0"
}
]
},
{
"source": "CPE_FIELD",
"cpe": "cpe:2.3:o:debian:debian_linux:9.0:*:*:*:*:*:*:*",
"extracted_events": [
{
"last_affected": "9.0"
}
]
},
{
"source": "CPE_FIELD",
"cpe": "cpe:2.3:o:fedoraproject:fedora:33:*:*:*:*:*:*:*",
"extracted_events": [
{
"last_affected": "33"
}
]
},
{
"source": "CPE_FIELD",
"cpe": "cpe:2.3:o:fedoraproject:fedora:34:*:*:*:*:*:*:*",
"extracted_events": [
{
"last_affected": "34"
}
]
}
]
}{
"source": "CPE_FIELD",
"cpe": "cpe:2.3:a:mediawiki:mediawiki:*:*:*:*:*:*:*:*",
"extracted_events": [
{
"introduced": "0"
},
{
"fixed": "1.31.12"
},
{
"introduced": "1.32.0"
},
{
"fixed": "1.35.2"
}
]
}