Description
PocketMine-MP 3.x (before 3.27.0) does not implement Minecraft Bedrock protocol encryption, so the server cannot verify that a connecting client possesses the private key corresponding to its login token. An attacker who captures a valid login from another player's session (for example by tricking the player into connecting to an attacker-controlled server) can replay that login to impersonate the victim and pass XBOX Live authentication until the JWT token expires (typically 2-3 days). This affects servers directly reachable over the internet that are not behind a proxy with encryption enabled. Fixed in 4.0.0 and backported to 3.27.0.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| pmmp | PocketMine-MP | 3.0.0 – < 3.27.0 | 3.27.0 |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| Packagist | pocketmine/pocketmine-mp | >= 3.0.0, < 4.0.0 | 4.0.0 | GHSA-h79x-98r2-g6qc |
References
- GitHub Security Advisory (GHSA-h79x-98r2-g6qc) vendor-advisory
- Patch Commit patch
- VulnCheck Advisory: PocketMine-MP before 4.0.0 Authentication Bypass via Login Replay third-party-advisory