GitHub Advisoryadvisory · Packagist
GHSA-46c5-pfj8-fv65 Improperly checked metadata on tools/armour itemstacks received from the client
HIGH
Official page ↗
- Ecosystem
- Packagist
- Packages
- pocketmine/pocketmine-mp
- Severity
- High
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- Weaknesses
- CWE-704
- Reviewed
- 2022-03-18
Affected packages
• Packagist pocketmine/pocketmine-mp: < 4.2.4 → fixed in 4.2.4
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]
Related
Weakness · CWE (1)
- CWE-704 Incorrect Type Conversion or Cast weakness