element-hq / element-hq/element-android

UTD: message sent is only decryptable by a single user

Open
#9,030 1 comment 0 reactions 0 assignees View on GitHub
T-Defect
Dominant language
Kotlin
Stars
3.7k
Forks
917
PR merge metrics
No merged PRs in 30d

Description

### Steps to reproduce

EDIT: edited to reflect that the sender was on a new device and not on the device that previously worked in that room.

A user running 1.6.34 (F-Droid) sent a message in an encrypted room. This message was not decryptable by anyone except 1 other user. The room in question is a medium sized E2EE room, with around 100 people.

The user who sent the message and the receivers who could not decrypt (including the one user who could) were all on matrix.org so this rules out federation issues.

Looking at the server logs suggests the `/sendToDevice` request from this user only sent the room key to a single user because we only see `Stored to-device messages with stream_id xxxx: ['@REDACTED:matrix.org/REDACTED (msgid REDACTED)']` whereas we typically see multiple users in this log line. Unsure if it matters, but the `/sendToDevice` came a full 12 seconds after the event's timestamp, possibly implicating some kind of timeout / CPU heavy work. There was an earlier `/sendToDevice` by the same user sent 6 seconds after the event's timestamp, and this too was for a single user. I have not confirmed if that user can decrypt the message, but it looks to be the same kind of thing happening as the `/sendToDevice` has a single user/device only in the request.

Lazy loading problem?

### Outcome

#### What did you expect?

That all users got the room key.

#### What happened instead?

Only 1 device, maybe 2 did.

### Your phone model

_No response_

### Operating system version

_No response_

### Application version and app store

1.6.34 F-Droid

### Homeserver

matrix.org

### Will you send logs?

No

### Are you willing to provide a PR?

No

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.