element-hq / element-hq/element-web

Handle public cross signing keys getting out of sync with private keys in SSSS

Open
#13,542 3 comments 4 reactions 1 assignee Claimed by @bwindels View on GitHub
A-E2EE-Cross-Signing T-Defect
Dominant language
TypeScript
Stars
13.5k
Forks
2.8k
PR merge metrics
PR metrics pending

Description

We're seeing quite a few instances of people's public cross-signing keys getting out of sync with the private copies in SSSS (secure secret storage and sharing), resulting in the error: `Key type master from getCrossSigningKey callback did not match` in the console when entering the passphrase.

matrix.org slowness is probably causing accounts to get into this state (there's no API for publishing public keys & saving private keys atomically so this will inevitably happen sometimes, but the slowness is making it much more commonplace).

The main problem here is that Riot handles this state terribly and just fails whatever operation it was trying to do with no error. It should detect the situation and suggest resetting keys.

https://github.com/vector-im/riot-web/issues/13338#issuecomment-624481088 is a detailed account of this
https://github.com/vector-im/riot-web/issues/13519 is likely to also be the same problem

https://github.com/vector-im/riot-web/issues/13338 is general is related but in that specific case, resetting *also* fails.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.