-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
Sending a proto tx message without the public key causes error in RPC and tx gets stuck in cache #7585
Comments
My impression is that sending this through the RPC it triggers a panic which is caught by Tendermint's RPC panic handler and so doesn't cause any real problems. However if a malicious proposer included this tx directly in a block I think it would crash all the nodes. I would suspect there's similar such bugs to this lurking (effectively empty proto fields deserializing to |
Actually the SDK has a panic handler doesnt it that would catch a panic like this and just cause the tx to be invalid, but wouldn't crash anything ? |
Yes, the SDK has a |
This is happening in TxDecoder. Maybe that doesn't have a panic handler?? So two things to do:
We can also address the call to |
So I propose we move the tx decoding to |
@alexanderbez The function signature of |
Yes, these are solely used for tests. I don't know how much of a lift it would be, but I think it's the better solution. |
Summary of Bug
While testing to send a MsgConnectionOpenInit transaction to a Cosmos SDK chain (v0.40.0-rc0), I've encountered an Internal Error with the RPC HTTP Handler and potentially might cause additional errors.
Version
Relayer (Stargate-4)
Tendermint v0.34.0-rc4
Cosmos SDK v0.40.0-rc0
Steps to Reproduce
dev-env
scriptpublic_key
property of aSignerInfo
to None (which I believe might set it to an empty string when decoded in Cosmos).The protobuf file where
SignerInfo
is says thepublic_key
is optional so that's why I set it to None. Other frameworks might set it to anull
orempty
value.broadcast_tx_sync
to the chain. Probably you can reproduce the same using this command below (the tx hash is for a MsgConnectionOpenInit)Internal Error
message.For Admin Use
The text was updated successfully, but these errors were encountered: