CVE-2021-48006
PocketMine-MP before 4.0.3 Operator Privilege Escalation via Case Sensitivity
PocketMine-MP before 4.0.3 does not perform case-insensitive matching when removing operator entries from ops.txt. The removeOp function lowercases the supplied name but only removes an exactly matching entry, so an operator name stored with non-lowercase letters cannot be revoked using the deop command, leaving the player as an operator until the entry is removed from ops.txt manually.
Attack profile
How easy it is to exploit
- Attack vector
- Local
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- Low
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
4.8
PocketMine-MP before 4.0.3 Operator Privilege Escalation via Case Sensitivity
PocketMine-MP before 4.0.3 does not perform case-insensitive matching when removing operator entries from ops.txt. The removeOp function lowercases the supplied name but only removes an exactly matching entry, so an operator name stored with non-lowercase letters cannot be revoked using the deop command, leaving the player as an operator until the entry is removed from ops.txt manually.
- Record
CVE-2021-48006- CVSS 4.0
- 4.8 Medium
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N - CVSS 3.1
- 3.3 Low
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N - Weakness
- CWE-178
- Updated
- 2026-11-02
EUVDEUVD-2021-34876
4.8
PocketMine-MP before 4.0.3 does not perform case-insensitive matching when removing operator entries from ops.txt. The removeOp function lowercases the supplied name but only removes an exactly matching entry, so an operator name stored with non-lowercase letters cannot be revoked using the deop command, leaving the player as an operator until the entry is removed from ops.txt manually.
- Record
EUVD-2021-34876- CVSS 4.0
- 4.8 Medium
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-5mrr-24gh-4jwh
4.8
PocketMine-MP before 4.0.3 does not perform case-insensitive matching when removing operator...
PocketMine-MP before 4.0.3 does not perform case-insensitive matching when removing operator entries from ops.txt. The removeOp function lowercases the supplied name but only removes an exactly matching entry, so an operator name stored with non-lowercase letters cannot be revoked using the deop command, leaving the player as an operator until the entry is removed from ops.txt manually.
- Record
GHSA-5mrr-24gh-4jwh- CVSS 4.0
- 4.8 Medium
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - CVSS 3.1
- 3.3 Low
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N - Weakness
- CWE-178
- Updated
- 2026-11-02
GitHub AdvisoriesGHSA-j5qg-w9jg-3wg3
3.3
Inability to de-op players if listed in ops.txt with non-lowercase letters
Impact
Originally reported in iTXTech/Genisys#1188
PotterHarry98
potterharry98
deop PotterHarry98
will remove potterharry98 from the ops.txt but not PotterHarry98.
Operator permissions are checked using Config->exists() with lowercase=true, which will result in a match:
https://github.com/pmmp/PocketMine-MP/blob/22bb1ce8e03dba57173debf0415390511d68e045/src/utils/Config.php#L449
This means that it's possible to make yourself impossible to de-op (using commands) by adding your name to ops.txt with uppercase letters.
Patches
4d37b79ff7f9d9452e988387f97919a9a1c4954e
Workarounds
This can be easily addressed by removing the offending lines from ops.txt manually.
For more information
If you have any questions or comments about this advisory:
- Open an issue in pmmp/PocketMine-MP
- Email us at [email protected]
- Record
GHSA-j5qg-w9jg-3wg3- CVSS 3.1
- 3.3 Low
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N - Updated
- 2026-11-02
NVD
4.8
PocketMine-MP before 4.0.3 does not perform case-insensitive matching when removing operator entries from ops.txt. The removeOp function lowercases the supplied name but only removes an exactly matching entry, so an operator name stored with non-lowercase letters cannot be revoked using the deop command, leaving the player as an operator until the entry is removed from ops.txt manually.
- Record
CVE-2021-48006- CVSS 4.0
- 4.8 Medium
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - CVSS 3.1
- 3.3 Low
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N - Weakness
- CWE-178
- Updated
- 2026-11-02
OSV
4.8
PocketMine-MP before 4.0.3 does not perform case-insensitive matching when removing operator entries from ops.txt. The removeOp function lowercases the supplied name but only removes an exactly matching entry, so an operator name stored with non-lowercase letters cannot be revoked using the deop command, leaving the player as an operator until the entry is removed from ops.txt manually.
- Record
CVE-2021-48006- CVSS 4.0
- 4.8 Medium
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - Updated
- 2026-11-02
OSVGHSA-j5qg-w9jg-3wg3
3.3
Inability to de-op players if listed in ops.txt with non-lowercase letters
Impact
Originally reported in iTXTech/Genisys#1188
PotterHarry98
potterharry98
deop PotterHarry98
will remove potterharry98 from the ops.txt but not PotterHarry98.
Operator permissions are checked using Config->exists() with lowercase=true, which will result in a match:
https://github.com/pmmp/PocketMine-MP/blob/22bb1ce8e03dba57173debf0415390511d68e045/src/utils/Config.php#L449
This means that it's possible to make yourself impossible to de-op (using commands) by adding your name to ops.txt with uppercase letters.
Patches
4d37b79ff7f9d9452e988387f97919a9a1c4954e
Workarounds
This can be easily addressed by removing the offending lines from ops.txt manually.
For more information
If you have any questions or comments about this advisory:
- Open an issue in pmmp/PocketMine-MP
- Email us at [email protected]
- Record
GHSA-j5qg-w9jg-3wg3- CVSS 3.1
- 3.3 Low
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N - Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
pocketmine/pocketmine-mpPackagist |
before 4.0.3 | 4.0.3 |
pocketmine/pocketmine-mpPackagist |
before 4.0.3, plus listed versions 3.0.03.0.13.0.103.0.113.0.12 Show 45 moreShow less3.0.23.0.33.0.43.0.53.0.63.0.73.0.83.0.93.1.03.1.13.1.23.1.33.1.43.1.53.1.63.1.73.1.83.10.03.10.13.11.03.11.13.11.23.11.33.11.43.11.53.11.63.11.73.12.03.12.13.12.23.12.33.12.43.12.53.12.63.13.03.13.13.14.03.14.13.14.23.14.33.15.03.15.13.15.23.15.33.15.4 |
4.0.3 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2021-48006 is a medium vulnerability (CVSS 4.8) in Pmmp Pocketmine-mp, published December 16, 2021. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.15%, the 4th percentile. Fixed in pocketmine/pocketmine-mp 4.0.3.
References
github.com/pmmp/PocketMine-MP/security/advisories/GHSA-j5qg-w9jg-3wg3
github.com/pmmp/PocketMine-MP/commit/4d37b79ff7f9d9452e988387f97919a9a1c4954e
vulncheck.com/advisories/pocketmine-mp-before-4.0.3-operator-privilege-escalation-via-case-sensitivity
nvd.nist.gov/vuln/detail/CVE-2021-48006
github.com/advisories/GHSA-5mrr-24gh-4jwh
github.com/iTXTech/Genisys/issues/1188
github.com/pmmp/PocketMine-MP/blob/4.0.3/changelogs/4.0.md
github.com/advisories/GHSA-j5qg-w9jg-3wg3
github.com/pmmp/PocketMine-MP
Left out here: 121 versions. The JSON record has them.