Miggo Logo

GHSA-7wrv-6h42-w54f: PocketMine-MP vulnerable to server crash using badly formatted sign NBT in BlockActorDataPacket

7.5

CVSS Score
3.1

Basic Information

CVE ID
-
EPSS Score
-
CWE
-
Published
7/14/2023
Updated
7/14/2023
KEV Status
No
Technology
TechnologyPHP

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Package NameEcosystemVulnerable VersionsFirst Patched Version
pocketmine/pocketmine-mpcomposer>= 4.20.0, < 4.22.34.22.3
pocketmine/pocketmine-mpcomposer>= 5.0.0, < 5.2.15.2.1

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stemmed from insufficient type validation in BlockActorDataPacket handling. The pre-patch code used $nbt->getCompoundTag(Sign::TAG_FRONT_TEXT) without checking if the tag was actually a CompoundTag. The stack trace shows the exception originated from this call. The commit diff proves the fix added explicit type checks (instanceof CompoundTag/StringTag) and proper error handling, confirming this was the vulnerable code path.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

### Summ*ry * pl*y*r s*n*in* * p**k*t **n **us* t** s*rv*r to *r*s* *y provi*in* in*orr**t si*n **t* in N*T in `*lo*k**tor**t*P**k*t`. ### **t*ils T*is vuln*r**ility w*s *is*ov*r** usin* t** `*lo*k**tor**t*P**k*t`, *ut ot**r p**k*ts m*y *lso ** ****

Reasoning

T** vuln*r**ility st*mm** *rom insu**i*i*nt typ* v*li**tion in *lo*k**tor**t*P**k*t **n*lin*. T** pr*-p*t** *o** us** $n*t->**t*ompoun*T**(Si*n::T**_*RONT_T*XT) wit*out ****kin* i* t** t** w*s **tu*lly * *ompoun*T**. T** st**k tr*** s*ows t** *x**pti