-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
We should never be sending contents of messages to push servers. (SYN-687) #1540
Comments
Jira watchers: @ara4n |
The web push-api subscription includes an encryption key so that the push notification payload is not visible to the gateway. I'd love to see synapse implement a push gateway which supports the web push-api. I think the same technique could be used for sending the notifications to APNS or GCM and then on the client side it would decrypt the message before displaying the notification. If so, this could potentially save a lot of battery over waking up the radio again when the push message is handled to fetch the payload. |
hans't this been fixed? |
I believe it has |
I hope it is fixed. It would be a major security thread... |
Clients can also request Element iOS has been |
So it seems that all a client needs to do to not leak message contents is to use the In addition to this, Synapse implements the Other than potentially changing that default, I don't think there's anything else left to do here. |
The problem is that, if we set this option to false, clients can't then opt-in to having content sent to their push gateways, and some clients DO use trustworthy push gateways (c.f. UnifiedPush). All good clients that care about this privacy issue should already opt-in to the event ID-only format. (We agree that the default is strange in the API — ideally you'd have to request content whilst setting up a pusher if you cared about it — but that would need a spec change, sadly.) |
Also, in E2EE rooms the server doesn't have access to message content, and thus can't disclose any plaintext to APNS / FCM. If we redesigned push today, we'd avoid configuration and make Calling this sufficiently resolved to close. |
Splitting this out from #1360.
We simply shouldn't be ever sending the plain text of push notifications to APNS or GCM - instead we should send them a prod to fire up the app and receive the message contents via Matrix (and so apply E2E crypto to it, if we want to display it in the UI).
(Imported from https://matrix.org/jira/browse/SYN-687)
(Reported by @ara4n)
The text was updated successfully, but these errors were encountered: