pmmp/pocketmine-mp · Security
Improperly checked metadata on tools/armour itemstacks received from the client
- GHSA ID
- GHSA-46c5-pfj8-fv65
- Severity
- high
- Published
- Updated
- CVSS
- 7.5 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- CVSS v3
- 7.5 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Description
Impact
Due to a workaround applied in 1.13, an attacker may send a negative damage/meta value in a tool or armour item's NBT, which TypeConverter then blindly uses as if it was valid without being checked.
When this invalid metadata value reaches Durable->setDamage(), an exception is thrown because the metadata is not within the expected range for damage values.
This can be reproduced with either a too-large damage value, or a negative one.
Patches
c8e1cfcbee4945fd4b63d2a7e96025c59744d4f1
Workarounds
In theory this can be checked by plugins using a custom TypeConverter, but this is likely to be very cumbersome.
For more information
- Email us at [email protected]
CWEs
- CWE-704 · Incorrect Type Conversion or Cast