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 Learn

Learn about Authorization Bypass vulnerabilities in an interactive lesson.

Start learning
  • 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 Base Scores

version 3.1