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

Optimistic channel handshake can result in a reset sending sequence and overwriting a packet commitment #7606

Closed
2 of 4 tasks
colin-axner opened this issue Oct 20, 2020 · 1 comment · Fixed by #7678
Closed
2 of 4 tasks
Assignees
Labels

Comments

@colin-axner
Copy link
Contributor

colin-axner commented Oct 20, 2020

Summary of Bug

The sequences:
NextSequenceSend
NextSequenceRecv
NextSequenceAck

are set in ChanOpenInit and ChanOpenTry. A packet is allowed to be optimistically sent on a channel in state INIT or TRYOPEN. If a packet is sent while the channel is in INIT but crossing hello's happens then a call to TRYOPEN would reset the sequence to 1, causing the packet commitment to be over written by the next packet being sent.

This bug was not exploitable since crossing hello's was accidentally disallowed as explained in #7605

I think the solution should be the same, if the previous channel exists then the sequence should not be overwritten.


For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate contributors tagged
  • Contributor assigned/self-assigned
@cwgoes
Copy link
Contributor

cwgoes commented Oct 20, 2020

Excellent catch; this also needs to be reflected in the spec.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants