1 files changed, 7 insertions, 0 deletions
diff --git a/synapse/handlers/devicemessage.py b/synapse/handlers/devicemessage.py
index 79be7c97c8..e56bdb4072 100644
--- a/synapse/handlers/devicemessage.py
+++ b/synapse/handlers/devicemessage.py
@@ -236,6 +236,13 @@ class DeviceMessageHandler:
local_messages = {}
remote_messages: Dict[str, Dict[str, Dict[str, JsonDict]]] = {}
for user_id, by_device in messages.items():
+ if not UserID.is_valid(user_id):
+ logger.warning(
+ "Ignoring attempt to send device message to invalid user: %r",
+ user_id,
+ )
+ continue
+
# add an opentracing log entry for each message
for device_id, message_content in by_device.items():
log_kv(
|