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

If publishing the cross-signing keys fails, we give up trying but we should keep trying #27253

Open
Tracked by #2410
richvdh opened this issue Mar 28, 2024 · 8 comments
Labels
A-E2EE A-E2EE-Cross-Signing O-Occasional Affects or can be seen by some users regularly or most users rarely S-Major Severely degrades major functionality or product features, with no satisfactory workaround T-Defect

Comments

@richvdh
Copy link
Member

richvdh commented Mar 28, 2024

When first logging in on a new account, we try to publish cross-signing keys (via /device_keys/upload).

This process can fail for example, if the homeserver is configured to use SSO auth. (Publishing the public keys requires user-interactive auth, which may fail. matrix-org/matrix-spec-proposals#3967 is an attempt to help with that, but is as yet unstandardised. Edit 2024-06-11: It is now standardised, and element-hq/synapse#17284 lands support for it in Synapse.)

If the process fails (either because the HS rejects it or the user gets bored of trying to do UIA), we show an error:
image

After that point, the application is fully-functional, and will even allow you to set up 4S and store the private cross-signing keys in 4S. The problem is that there is no further attempt to publish the public keys, so the account is now totally broken until the user resets cross-signing.

@richvdh
Copy link
Member Author

richvdh commented Mar 28, 2024

This is related to #26322, in that both are about updating the private key in 4S without updating the public key.

@MidhunSureshR MidhunSureshR added T-Defect S-Major Severely degrades major functionality or product features, with no satisfactory workaround O-Occasional Affects or can be seen by some users regularly or most users rarely labels Apr 1, 2024
@pmaier1
Copy link

pmaier1 commented Apr 2, 2024

@kegsay from what I've heard you took over progressing on the mentioned MSC recently. I see it's already been implemented in Synapse. What's the status? Can we get it done as a fix for this case?

@richvdh
Copy link
Member Author

richvdh commented Apr 2, 2024

@pmaier1 to be clear: whilst MSC3967 might help with this, it's not a complete fix. The key upload can fail for plenty of other reasons that are not related to UIA.

@BillCarsonFr
Copy link
Member

BillCarsonFr commented Apr 4, 2024

@kegsay
Copy link
Contributor

kegsay commented Apr 15, 2024

@pmaier1 No, the fix I'm applying does not seem to apply here. My change improves robustness when on poor networks, which does not appear to be the case here. This particular issue appears to be server misconfiguration.

@pmaier1
Copy link

pmaier1 commented Apr 15, 2024

This particular issue appears to be server misconfiguration.

Just misconfiguration? So not an actual bug that needs fixing?

@kegsay
Copy link
Contributor

kegsay commented Apr 16, 2024

This issue is still a valid bug because:

The key upload can fail for plenty of other reasons that are not related to UIA.

Server misconfiguration can cause UIA errors, which is the root cause for the rageshakes we have received.

@venimus
Copy link

venimus commented Apr 16, 2024

This issue is still a valid bug because:

The key upload can fail for plenty of other reasons that are not related to UIA.

Server misconfiguration can cause UIA errors, which is the root cause for the rageshakes we have received.

I have the same issue with 1.11.6x versions, downgrading to 1.11.5x resolved the issue

@andybalaam andybalaam changed the title If publishing the cross-signing keys fails, we give up trying If publishing the cross-signing keys fails, we give up trying but we should keep trying May 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-E2EE A-E2EE-Cross-Signing O-Occasional Affects or can be seen by some users regularly or most users rarely S-Major Severely degrades major functionality or product features, with no satisfactory workaround T-Defect
Projects
None yet
Development

No branches or pull requests

6 participants