ibc: Missing check in ClientState::new #4548
Labels
_P-V1
Priority: slated for V1 release
zellic-ibc-needs-remediation
Finding by Zellic reviewing the IBC component, needs remediation
Milestone
Describe the bug
The ClientState::new function in ibc-types shares most of its checks with ibc-go's ClientState.Validate but omits the check that chain_id is nonempty, and none of ChainId's From/FromStr trait implementations contain this check. This will result in penumbra-ibc nodes accepting chain IDs that ibc-go nodes will reject (though when referring to the chain ID "", it will reserialize it as "-0", which ibc-go will accept).
The ibc-go library checks that the chain ID is nonempty.
Expected behavior
This likely does not have any security impact, but it is a deviation from the specification and can potentially lead to an issue in the future.
The text was updated successfully, but these errors were encountered: