Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Address SIGN_MODE_LEGACY_AMINO_JSON security issues #6863

Closed
2 tasks done
aaronc opened this issue Jul 27, 2020 · 0 comments · Fixed by #6883
Closed
2 tasks done

Address SIGN_MODE_LEGACY_AMINO_JSON security issues #6863

aaronc opened this issue Jul 27, 2020 · 0 comments · Fixed by #6883

Comments

@aaronc
Copy link
Member

aaronc commented Jul 27, 2020

SIGN_MODE_DIRECT addresses malleability by signing raw bytes. Amino JSON signing requires extra care to deal with malleability.

In order to prevent exploits, we need to:

  • reject all unknown protobuf fields (Protobuf unknown field rejection #6192), non-critical fields cannot be enabled with amino JSON signing
  • make sure that all new fields on TxBody either have a direct counterpart in StdTx or cause transactions to fail and make sure that SIGN_MODE_LEGACY_AMINO_JSON handles this properly

If the above are not done, a malicious attacker can either add:

  • random unknown, non-critical fields to protobuf tx's bloating transactions, or
  • set fields on TxBody that weren't present in the amino JSON SignDoc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant