Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Invited users don't trigger device_list updates when their device lists change. #3504

Open
ara4n opened this issue Jul 10, 2018 · 1 comment
Labels
A-Device-List-Tracking Telling clients about other devices. Often related to E2EE. A-Invite Inviting users to rooms and accepting invites T-Defect Bugs, crashes, hangs, security vulnerabilities, or other reported issues.

Comments

@ara4n
Copy link
Member

ara4n commented Jul 10, 2018

If you invite a user to an E2E chat, you have no way of being told when its device list changes as it is not yet participating in the room. As a result, any added devices won't be encrypted for. Options to fix this include:

  • Have invited users participate in the room DAG. This poses a security issue however given you can obligate any user to unilaterally participate in a room DAG.
  • Synchronise device_lists using a different mechanism than basing it off DAG membership; e.g. a separate pubsub mechanism for tracking a given user's device updates (see the second half of https://github.com/vector-im/riot-web/issues/6989#issue-339179869)
  • Use cross-user KS reqs to recover the missing keys.
  • Refuse to share history with non-joined users.

Related to #3503.

This has been split out from element-hq/element-web#2713 (comment).

@ara4n
Copy link
Member Author

ara4n commented Sep 12, 2020

element-hq/element-web#2713 (comment) gives another possible solution to this: if the servers in the room send lone membership events to the invited server, then the invited server will know who to send device_list updates to.

In other words, the invited server has a read-only participation in the DAG despite not being joined, to a very limited extent, as if it were doing MSC2444 peeking in the room filtered to membership events.

@MadLittleMods MadLittleMods added A-Invite Inviting users to rooms and accepting invites A-Device-List-Tracking Telling clients about other devices. Often related to E2EE. T-Defect Bugs, crashes, hangs, security vulnerabilities, or other reported issues. labels May 16, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
A-Device-List-Tracking Telling clients about other devices. Often related to E2EE. A-Invite Inviting users to rooms and accepting invites T-Defect Bugs, crashes, hangs, security vulnerabilities, or other reported issues.
Projects
None yet
Development

No branches or pull requests

2 participants