chatmail / chatmail/core

Prevent silent probing of device online status

Open
#7,555 3 comments 3 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
929
Forks
143
Avg merge
1d 20h
Merged PRs (30d)
53

Description

SecureJoin has two types of tokens: invite tokens and auth tokens. Currently SecureJoin invite token can be used to silently probe device online status. Auth token when successfully used results in a visible "member added" message for groups, but is not visible when establishing a contact second time.

This is a known problem for messengers recently described in [Careless Whisper: Exploiting Silent Delivery Receipts to Monitor Users on Mobile Instant Messengers](https://arxiv.org/abs/2411.11194), but is not new, see also "Silent SMS" problem.

For auth token, we should make sure that successful usage of auth token always results in a visible info message (e.g. "Bob scanned your QR code", "Bob is already part of the group, but scanned your QR code again"). Bob normally should not even send us AUTH message multiple times (https://github.com/chatmail/core/pull/7335) so receiving multiple auth messages is unusual and it should be fine to display a message each time on Alice's side.

For invite tokens I don't have a solution yet because we don't have a place to display that invite token was used. Maybe we should expire them or limit the number of times they can be used, and revoke old token when the new one is created.

Actionable item for this issue is to make sure each successful processing of AUTH token results in a visible info message.

There is also a related issue https://github.com/chatmail/core/issues/7340 that should be closed soon, makes sense to close it first before even discussing this one.

See also [Delta Chat forum topic](https://support.delta.chat/t/careless-whisper-on-deltachat/4396).

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.