Deserializing untrusted cosmos transactions with the legacy amino codec can crash the program #691
Closed
2 of 3 tasks
Labels
Milestone
This issue was found by Trail of Bits during the audit of ICS27 Interchain Accounts
Problem Definition
The
DeserializeCosmosTx
function can panic and crash the program if it is used with thelegacy amino codec and a specially crafted input. We found this bug by fuzzing the DeserializeCosmosTx function with the legacy amino and protobuf codecs.
This problem can be reproduced with the test
which can be added directly to
ibc-go/modules/apps/27-interchain-accounts/types/codec_test.go
file.Proposal
Investigate and fix the issue that causes the
DeserializeCosmosTx
function to panic and crash the program when it is used with the legacy amino codec and called with untrusted input. Alternatively, if the function is not intended to be used with untrusted input, add a documentation string that explains this intention and the risks associated with passing untrusted input to this function.For Admin Use
The text was updated successfully, but these errors were encountered: