mediawiki — security advisory
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.
- Products
- mediawiki
- Affected versions
- 1:1.31.2-1ubuntu1, 1:1.31.5-1, 1:1.31.5-1ubuntu1, 1:1.31.5-2, 1:1.31.5-3, 1:1.31.5-3ubuntu1, 1:1.31.6-1, 1:1.31.7-1, 1:1.31.7-1ubuntu0.1~esm1, 1:1.35.3-1, 1:1.35.4-1, 1:1.35.5-1, 1:1.35.5-1ubuntu1, 1:1.35.5-1ubuntu2, 1:1.35.5-1ubuntu3, 1:1.35.6-1, 1:1.35.6-1ubuntu0.1~esm1, 1:1.39.4-2, 1:1.39.5-1, 1:1.39.6-1, 1:1.39.7-1, 1:1.39.7-1ubuntu0.1~esm1, 1:1.43.1+dfsg-1, 1:1.43.1+dfsg-2, 1:1.43.3+dfsg-1, 1:1.43.5+dfsg-1, 1:1.43.6+dfsg-2, 1:1.43.8+dfsg-1, 1:1.43.8+dfsg-2, 1:1.43.9+dfsg-1, 1:1.43.9+dfsg-1ubuntu1
- Fixed versions
- Not specified
- CVEs
- CVE-2021-30159
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 00:58 UTC · Revision 1
Source evidence
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.
osv:UBUNTU-CVE-2021-30159
mediawiki
Fixed versions: Not specified
mediawiki
Fixed versions: Not specified
mediawiki
Fixed versions: Not specified
mediawiki
Fixed versions: Not specified
mediawiki
Fixed versions: Not specified
mediawiki
Fixed versions: Not specified
Complete source record
{
"id": "f4e9ddfb70eb5e562e487f8f2711f63b631e035a5fc0a279c625d65330487628",
"url": "https://osv.dev/vulnerability/UBUNTU-CVE-2021-30159",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "UBUNTU-CVE-2021-30159",
"summary": "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.",
"evidence": "osv:UBUNTU-CVE-2021-30159",
"products": [
{
"name": {
"value": "mediawiki",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "1:1.31.2-1ubuntu1",
"evidence": "/affected/0/versions"
},
{
"value": "1:1.31.5-1",
"evidence": "/affected/0/versions"
},
{
"value": "1:1.31.5-1ubuntu1",
"evidence": "/affected/0/versions"
},
{
"value": "1:1.31.5-2",
"evidence": "/affected/0/versions"
},
{
"value": "1:1.31.5-3",
"evidence": "/affected/0/versions"
},
{
"value": "1:1.31.5-3ubuntu1",
"evidence": "/affected/0/versions"
},
{
"value": "1:1.31.6-1",
"evidence": "/affected/0/versions"
},
{
"value": "1:1.31.7-1",
"evidence": "/affected/0/versions"
},
{
"value": "1:1.31.7-1ubuntu0.1~esm1",
"evidence": "/affected/0/versions"
}
]
},
{
"name": {
"value": "mediawiki",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "1:1.35.3-1",
"evidence": "/affected/1/versions"
},
{
"value": "1:1.35.4-1",
"evidence": "/affected/1/versions"
},
{
"value": "1:1.35.5-1",
"evidence": "/affected/1/versions"
},
{
"value": "1:1.35.5-1ubuntu1",
"evidence": "/affected/1/versions"
},
{
"value": "1:1.35.5-1ubuntu2",
"evidence": "/affected/1/versions"
},
{
"value": "1:1.35.5-1ubuntu3",
"evidence": "/affected/1/versions"
},
{
"value": "1:1.35.6-1",
"evidence": "/affected/1/versions"
},
{
"value": "1:1.35.6-1ubuntu0.1~esm1",
"evidence": "/affected/1/versions"
}
]
},
{
"name": {
"value": "mediawiki",
"evidence": "/affected/2/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "1:1.39.4-2",
"evidence": "/affected/2/versions"
},
{
"value": "1:1.39.5-1",
"evidence": "/affected/2/versions"
},
{
"value": "1:1.39.6-1",
"evidence": "/affected/2/versions"
},
{
"value": "1:1.39.7-1",
"evidence": "/affected/2/versions"
},
{
"value": "1:1.39.7-1ubuntu0.1~esm1",
"evidence": "/affected/2/versions"
}
]
},
{
"name": {
"value": "mediawiki",
"evidence": "/affected/3/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "1:1.43.1+dfsg-1",
"evidence": "/affected/3/versions"
},
{
"value": "1:1.43.1+dfsg-2",
"evidence": "/affected/3/versions"
},
{
"value": "1:1.43.3+dfsg-1",
"evidence": "/affected/3/versions"
}
]
},
{
"name": {
"value": "mediawiki",
"evidence": "/affected/4/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "1:1.43.8+dfsg-2",
"evidence": "/affected/4/versions"
},
{
"value": "1:1.43.9+dfsg-1",
"evidence": "/affected/4/versions"
},
{
"value": "1:1.43.9+dfsg-1ubuntu1",
"evidence": "/affected/4/versions"
}
]
},
{
"name": {
"value": "mediawiki",
"evidence": "/affected/5/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "1:1.43.3+dfsg-1",
"evidence": "/affected/5/versions"
},
{
"value": "1:1.43.5+dfsg-1",
"evidence": "/affected/5/versions"
},
{
"value": "1:1.43.6+dfsg-2",
"evidence": "/affected/5/versions"
},
{
"value": "1:1.43.8+dfsg-1",
"evidence": "/affected/5/versions"
},
{
"value": "1:1.43.8+dfsg-2",
"evidence": "/affected/5/versions"
}
]
}
],
"severity": "medium",
"structured": {
"id": "UBUNTU-CVE-2021-30159",
"aliases": [
"UBUNTU-CVE-2021-30159"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N"
},
{
"type": "Ubuntu",
"score": "medium"
}
],
"affected": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "mediawiki",
"purl": "pkg:deb/ubuntu/mediawiki?arch=source&distro=esm-apps%2Ffocal",
"ecosystem": "Ubuntu:Pro:20.04:LTS"
},
"versions": [
"1:1.31.2-1ubuntu1",
"1:1.31.5-1",
"1:1.31.5-1ubuntu1",
"1:1.31.5-2",
"1:1.31.5-3",
"1:1.31.5-3ubuntu1",
"1:1.31.6-1",
"1:1.31.7-1",
"1:1.31.7-1ubuntu0.1~esm1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2021/UBUNTU-CVE-2021-30159.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "mediawiki",
"binary_version": "1:1.31.7-1ubuntu0.1~esm1"
},
{
"binary_name": "mediawiki-classes",
"binary_version": "1:1.31.7-1ubuntu0.1~esm1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "mediawiki",
"purl": "pkg:deb/ubuntu/mediawiki?arch=source&distro=esm-apps%2Fjammy",
"ecosystem": "Ubuntu:Pro:22.04:LTS"
},
"versions": [
"1:1.35.3-1",
"1:1.35.4-1",
"1:1.35.5-1",
"1:1.35.5-1ubuntu1",
"1:1.35.5-1ubuntu2",
"1:1.35.5-1ubuntu3",
"1:1.35.6-1",
"1:1.35.6-1ubuntu0.1~esm1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2021/UBUNTU-CVE-2021-30159.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "mediawiki",
"binary_version": "1:1.35.6-1ubuntu0.1~esm1"
},
{
"binary_name": "mediawiki-classes",
"binary_version": "1:1.35.6-1ubuntu0.1~esm1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "mediawiki",
"purl": "pkg:deb/ubuntu/mediawiki?arch=source&distro=esm-apps%2Fnoble",
"ecosystem": "Ubuntu:Pro:24.04:LTS"
},
"versions": [
"1:1.39.4-2",
"1:1.39.5-1",
"1:1.39.6-1",
"1:1.39.7-1",
"1:1.39.7-1ubuntu0.1~esm1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2021/UBUNTU-CVE-2021-30159.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "mediawiki",
"binary_version": "1:1.39.7-1ubuntu0.1~esm1"
},
{
"binary_name": "mediawiki-classes",
"binary_version": "1:1.39.7-1ubuntu0.1~esm1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "mediawiki",
"purl": "pkg:deb/ubuntu/mediawiki?arch=source&distro=questing",
"ecosystem": "Ubuntu:25.10"
},
"versions": [
"1:1.43.1+dfsg-1",
"1:1.43.1+dfsg-2",
"1:1.43.3+dfsg-1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2021/UBUNTU-CVE-2021-30159.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "mediawiki",
"binary_version": "1:1.43.3+dfsg-1"
},
{
"binary_name": "mediawiki-classes",
"binary_version": "1:1.43.3+dfsg-1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "mediawiki",
"purl": "pkg:deb/ubuntu/mediawiki?arch=source&distro=stonking",
"ecosystem": "Ubuntu:26.10"
},
"versions": [
"1:1.43.8+dfsg-2",
"1:1.43.9+dfsg-1",
"1:1.43.9+dfsg-1ubuntu1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2021/UBUNTU-CVE-2021-30159.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "mediawiki",
"binary_version": "1:1.43.9+dfsg-1ubuntu1"
},
{
"binary_name": "mediawiki-classes",
"binary_version": "1:1.43.9+dfsg-1ubuntu1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "mediawiki",
"purl": "pkg:deb/ubuntu/mediawiki?arch=source&distro=resolute",
"ecosystem": "Ubuntu:26.04:LTS"
},
"versions": [
"1:1.43.3+dfsg-1",
"1:1.43.5+dfsg-1",
"1:1.43.6+dfsg-2",
"1:1.43.8+dfsg-1",
"1:1.43.8+dfsg-2"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2021/UBUNTU-CVE-2021-30159.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "mediawiki",
"binary_version": "1:1.43.8+dfsg-2"
},
{
"binary_name": "mediawiki-classes",
"binary_version": "1:1.43.8+dfsg-2"
}
]
}
}
],
"modified": "2026-10-17T12:56:19.636235411Z",
"provider": "osv",
"upstream": [
"CVE-2021-30159"
],
"references": [
"https://ubuntu.com/security/CVE-2021-30159",
"https://phabricator.wikimedia.org/T272386",
"https://lists.wikimedia.org/pipermail/wikitech-l/2021-April/094418.html",
"https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/core/+/49ce7dd2143d01cffd4dfd2f2af79b2b93672eac%5E%21/",
"https://www.cve.org/CVERecord?id=CVE-2021-30159"
]
},
"related_cves": [
{
"value": "CVE-2021-30159",
"evidence": "/upstream"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 355272,
"published_at": "2021-04-09T07:15:00+00:00"
}