Per-participant sender keys can be processed out of order leading to InvalidKey: Decryption failed
errors
#2549
Labels
T-Defect
Something isn't working: bugs, crashes, hangs, vulnerabilities, or other reported problems
I have observed that sometimes EC will attempt to use an old per-sender encryption key instead of the correct one. EC is attempting to use the correct index, but the actual key is wrong.
On inspection I can see that the
io.element.call.encryption_keys
events are processed in the wrong order.The
io.element.call.encryption_keys
events appear to be emitted in order by the js-sdk, but when they are processed byMatrixKeyProvider
the resulting calls toBaseKeyProvider.onSetEncryptionKey()
occur out of order.For example with the following events in order of emitting:
Then EC is trying to use
oldKey0
instead ofnewKey0
.The text was updated successfully, but these errors were encountered: