decred / politeia

ISC License
110 stars 75 forks source link

politeiad: Plugin metadata JSON bug. #1432

Open lukebp opened 3 years ago

lukebp commented 3 years ago

The plugin hooks add plugin specific validation to record submissions and updates. A case that was not considered was if the client provides a valid base64 metadata payload, but that contains invalid JSON. This causes politeiad to fail with a 500 instead of handling the error gracefully with a UserErrorReply.

Attribution This bug was introduced by #1180. It was the result of not considering all input edge cases.

Prevention Test cases for invalid JSON should be added for all plugin metadata validation. A testing framework has not been setup yet for the politeiad plugins. This will be added by #1494.

lukebp commented 3 years ago

Blocked by #1406