GHSA-79rc-jjh6-rc89:
PocketMine-MP server crash due to incorrect EC curve used for LoginPacket identityPublicKey
7.5
CVSS Score
3.1
Basic Information
CVE ID
-
GHSA ID
EPSS Score
-
CWE
-
Published
9/14/2023
Updated
9/14/2023
KEV Status
No
Technology
PHP
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
pocketmine/pocketmine-mp | composer | >= 5.2.0, < 5.3.1 | 5.3.1 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stemmed from three key gaps: 1) JWT parsing accepted any EC curve, 2) login validation didn't verify client key parameters, and 3) ECDH derivation lacked pre-checks. The commit added curve validation in parseDerPublicKey
(JwtUtils
), enforced its use in validateToken
(ProcessLoginTask
), and added key validation in generateSharedSecret
(EncryptionUtils
). The unpatched versions of these functions directly enabled the crash scenario by allowing curve mismatches to reach critical cryptographic operations.