GHSA-rqvj-fc2x-99q6 BIT-mediawiki-2020-25827 CVE-2020-25827
OATHAuth extension in MediaWiki is not implementing rate limit
- Severity
- 7.5 / 10
- High · CVSS 3.1
- Exploit chance (EPSS)
- 1.70%
- Chance of exploitation in the next 30 days. Higher than 77.27% of scored vulnerabilities.
- Known exploited
- No
- Not in CISA's catalog
- Weakness
- CWE-307 Improper Restriction of Excessive Authentication Attempts
- Fix
1.31.9- Upgrade mediawiki/core to this version or later
Description
An issue was discovered in the OATHAuth extension in MediaWiki before 1.31.9 and 1.32.x through 1.34.x before 1.34.3. For Wikis using OATHAuth on a farm/cluster (such as via CentralAuth), rate limiting of OATH tokens is only done on a single site level. Thus, multiple requests can be made across many wikis/sites concurrently.
Affected versions
Packagist
| Package | Vulnerable | Fixed in |
|---|---|---|
| mediawiki/core | >= 1.31.0, < 1.31.9 |
1.31.9 |
| mediawiki/core | >= 1.32.0, < 1.34.3 |
1.34.3 |
How to fix
Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.
mediawiki/core Packagist → 1.31.9
- composer
composer require mediawiki/core:^1.31.9
Severity breakdown
CVSS 3.1 7.5
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
- Attack vector
- Network
- Attack complexity
- Low
- Privileges required
- None
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- None
- Integrity
- High
- Availability
- None
Weakness
CWE-307: Improper Restriction of Excessive Authentication Attempts
The product does not implement sufficient measures to prevent multiple failed authentication attempts within a short time frame.
How to prevent it
- Architecture and Design: Common protection mechanisms include: Disconnecting the user after a small number of failed attempts Implementing a timeout Locking out a targeted account Requiring a computational task on the user's part.
- Architecture and Design: Use a vetted library or framework that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid [REF-1482]. Consider using libraries with authentication capabilities such as OpenSSL or the ESAPI Authenticator. [REF-45]
References
Advisories
Packages
Other links
- github.com/FriendsOfPHP/security-advisories/blob/master/mediawiki/core/CVE-2020…
- lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/RTT…
- lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/RTTPZ…
- lists.wikimedia.org/pipermail/mediawiki-l/2020-September/048480.html
- lists.wikimedia.org/pipermail/mediawiki-l/2020-September/048488.html
- phabricator.wikimedia.org/T251661
Timeline
- Published
- Last updated by the source
- Latest EPSS score
Related advisories
| Advisory | Severity | Why it's related |
|---|---|---|
| GHSA-w5fx-cx7f-6vr9 MediaWiki Denial of Service vulnerability | High | Also affects mediawiki/core |
| GHSA-5vj8-g3qg-4qh6 X-Forwarded-For header allows brute-forcing autoblocked IP addresses | Critical | Also affects mediawiki/core |
| GHSA-c8wv-qwwc-6j73 MediaWiki allows a denial of service | Medium | Also affects mediawiki/core |
| GHSA-c4rj-wrmq-52rj MediaWiki Special:UserRights exposes the existence of hidden users | Medium | Also affects mediawiki/core |
| GHSA-h8qx-mj6v-2934 MediaWiki Cross-site Scripting (XSS) vulnerability | Medium | Also affects mediawiki/core |
| GHSA-4vr7-m8p8-434h MediaWiki Cross-site Scripting (XSS) vulnerability | Medium | Also affects mediawiki/core |
| GHSA-2f58-vf6g-6p8x MediaWiki Cross-site Scripting (XSS) vulnerability | Medium | Also affects mediawiki/core |
| GHSA-rj9p-8jxj-2ch4 MediaWiki Cross-site Scripting (XSS) vulnerability | Medium | Also affects mediawiki/core |
MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.
Check your repos with MergeHarbor