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.
c8e1cfcbee4945fd4b63d2a7e96025c59744d4f1
In theory this can be checked by plugins using a custom TypeConverter
, but this is likely to be very cumbersome.
{ "nvd_published_at": null, "cwe_ids": [ "CWE-704" ], "severity": "HIGH", "github_reviewed": true, "github_reviewed_at": "2022-03-18T22:36:03Z" }