RocketChat / RocketChat/Rocket.Chat
E2E DM Reseting keys for all users causes incorrect behavior
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 46.1k
- Forks
- 13.9k
- Avg merge
- 3d 3h
- Merged PRs (30d)
- 130
Description
Description:
Hi All!
If both DM members reset their keys at the same time, the messages stop being decrypted
Steps to reproduce:
- Create DM with 2 users
- Start E2E
- Reset E2E for 1 and 2 user
- Relogon for both
- Old messages not decrypted
Expected behavior:
Keys are regenerate for DM and all encrypt messages must been decrypted
Actual behavior:
New messages are either not encrypted, or they are encrypted, but old messages are no longer displayed correctly.
Server Setup Information:
Version of Rocket.Chat Server: 6.2.2
Operating System: Docker
Deployment Method:
Number of Running Instances: 20
DB Replicaset Oplog: wiredTiger (oplog Active)
NodeJS Version: v14.21.3
MongoDB Version: 5
Client Setup Information
- Desktop App or Browser Version: Latest Chrome / Electron App
- Operating System: Windows 11/10
Additional context
Relevant logs:
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the listed two-user DM sequence on the stated Chrome or Electron setup: enable E2E, reset both users' keys, relogin, and check old and new messages. The payload names no files or tests; done means DM key regeneration preserves decryption of old messages and keeps new messages encrypted.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- cryptography, security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100