Every CVE Search/ Get API key

CVE-2023-54396

PocketMine-MP before 4.8.1 Server Crash via Banner NBT

7.1 HighFix available

PocketMine-MP versions before 4.8.1 fail to validate dye color IDs in banner NBT data during deserialization. Attackers can provide invalid color values in inventory transactions or via commands to trigger undefined offset errors and crash the server.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
Low
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
High

Exploit likelihood

0.53%Up 0.2 points since Sep 10, 2026
90%50%10%1%

What each source reports

CVE List Score used 7.1

PocketMine-MP before 4.8.1 Server Crash via Banner NBT

PocketMine-MP versions before 4.8.1 fail to validate dye color IDs in banner NBT data during deserialization. Attackers can provide invalid color values in inventory transactions or via commands to trigger undefined offset errors and crash the server.

Record
CVE-2023-54396
CVSS 4.0
7.1 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-129
Updated
2026-11-02
EUVDEUVD-2023-60626 7.1

PocketMine-MP versions before 4.8.1 fail to validate dye color IDs in banner NBT data during deserialization. Attackers can provide invalid color values in inventory transactions or via commands to trigger undefined offset errors and crash the server.

Record
EUVD-2023-60626
CVSS 4.0
7.1 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-7986-3j64-vgx5 7.1

PocketMine-MP versions before 4.8.1 fail to validate dye color IDs in banner NBT data during...

PocketMine-MP versions before 4.8.1 fail to validate dye color IDs in banner NBT data during deserialization. Attackers can provide invalid color values in inventory transactions or via commands to trigger undefined offset errors and crash the server.

Record
GHSA-7986-3j64-vgx5
CVSS 4.0
7.1 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-129
Updated
2026-11-02
GitHub AdvisoriesGHSA-wqqv-jcfr-9f5g 7.5

PocketMine-MP has improperly handled dye colour IDs in banner NBT, leading to server crash

Impact

DyeColorIdMap->fromId() did not account for the possibility that it might be given invalid input. This means that an undefined offset error would occur whenever this happened.

This code is indirectly called during Banner->deserializeCompoundTag(), which is invoked when deserializing any item NBT, whether from network or disk.

An attacker could use this bug to crash a server by providing NBT with invalid values for pattern colours in an inventory transaction, or by using /give to obtain an item with NBT like this.

Patches

08b9495bce2d65a6d1d3eeb76e484499a00765eb

Workarounds

This is quite difficult to work around via a plugin. Theoretically, it's possible to override the Banner item class from a plugin and validate the data before it reaches deserializeCompoundTag().

For more information

If you have any questions or comments about this advisory:

Record
GHSA-wqqv-jcfr-9f5g
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
NVD 7.1

PocketMine-MP versions before 4.8.1 fail to validate dye color IDs in banner NBT data during deserialization. Attackers can provide invalid color values in inventory transactions or via commands to trigger undefined offset errors and crash the server.

Record
CVE-2023-54396
CVSS 4.0
7.1 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-129
Updated
2026-11-02
OSV 7.1

PocketMine-MP before 4.8.1 Server Crash via Banner NBT

PocketMine-MP versions before 4.8.1 fail to validate dye color IDs in banner NBT data during deserialization. Attackers can provide invalid color values in inventory transactions or via commands to trigger undefined offset errors and crash the server.

Record
CVE-2023-54396
CVSS 4.0
7.1 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Weakness
CWE-129
Updated
2026-11-02
OSVGHSA-wqqv-jcfr-9f5g 7.5

PocketMine-MP has improperly handled dye colour IDs in banner NBT, leading to server crash

Impact

DyeColorIdMap->fromId() did not account for the possibility that it might be given invalid input. This means that an undefined offset error would occur whenever this happened.

This code is indirectly called during Banner->deserializeCompoundTag(), which is invoked when deserializing any item NBT, whether from network or disk.

An attacker could use this bug to crash a server by providing NBT with invalid values for pattern colours in an inventory transaction, or by using /give to obtain an item with NBT like this.

Patches

08b9495bce2d65a6d1d3eeb76e484499a00765eb

Workarounds

This is quite difficult to work around via a plugin. Theoretically, it's possible to override the Banner item class from a plugin and validate the data before it reaches deserializeCompoundTag().

For more information

If you have any questions or comments about this advisory:

Record
GHSA-wqqv-jcfr-9f5g
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
pocketmine/pocketmine-mp
Packagist
before 4.8.1
4.8.1
pocketmine/pocketmine-mp
Packagist
before 4.8.1, plus listed versions
3.0.03.0.13.0.103.0.113.0.12
Show 45 moreShow less
3.0.23.0.33.0.43.0.53.0.63.0.73.0.83.0.93.1.03.1.13.1.23.1.33.1.43.1.53.1.63.1.73.1.83.10.03.10.13.11.03.11.13.11.23.11.33.11.43.11.53.11.63.11.73.12.03.12.13.12.23.12.33.12.43.12.53.12.63.13.03.13.13.14.03.14.13.14.23.14.33.15.03.15.13.15.23.15.33.15.4
4.8.1

History

History
RecordedChangedSources
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2023-54396 is a high vulnerability (CVSS 7.1) in Pmmp Pocketmine-mp, published January 9, 2023. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.53%, the 45th percentile. Fixed in pocketmine/pocketmine-mp 4.8.1.

References

This page doesn't list everything

Left out here: 162 versions. The JSON record has them.

MoveEnter Open