Authorization Bypass Affecting pocketmine/pocketmine-mp package, versions <4.0.3


Severity

Recommended
0.0
low
0
10

CVSS assessment made by Snyk's Security Team. Learn more

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-PHP-POCKETMINEPOCKETMINEMP-2321385
  • published17 Dec 2021
  • disclosed16 Dec 2021
  • creditUnknown

Introduced: 16 Dec 2021

CVE NOT AVAILABLE CWE-285  (opens in a new tab)

How to fix?

Upgrade pocketmine/pocketmine-mp to version 4.0.3 or higher.

Overview

pocketmine/pocketmine-mp is a highly customisable, open source server software for Minecraft: Bedrock Edition written in PHP

Affected versions of this package are vulnerable to Authorization Bypass. Inability to de-op players if listed in ops.txt with non-lowercase letters.

PoC

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.

CVSS Scores

version 3.1