continuwuity/src
Olivia Lee 12aecf8091
validate membership events returned by remote servers
This fixes a vulnerability where an attacker with a malicious remote
server and a user on the local server can trick the local server into
signing arbitrary events. The attacker issue a remote leave as the local
user to a room on the malicious server. Without any validation of the
make_leave response, the local server would sign the attacker-controlled
event and pass it back to the malicious server with send_leave.

The join and knock endpoints are also fixed in this commit, but are less
useful for exploitation because the local server replaces the "content"
field returned by the remote server. Remote invites are unaffected
because we already check that the event returned from /invite has the
same event ID as the event passed to it.

Co-authored-by: timedout <git@nexy7574.co.uk>
Co-authored-by: Jade Ellis <jade@ellis.link>
Co-authored-by: Ginger <ginger@gingershaped.computer>
2025-12-30 15:24:45 +00:00
..
admin refactor: Promote handling unsigned data out of timeline 2025-12-21 17:12:33 +00:00
api validate membership events returned by remote servers 2025-12-30 15:24:45 +00:00
build_metadata build: Don't rerun on git changes 2025-05-26 19:16:05 +01:00
core feat: Allow configuring the OTLP protocol 2025-12-29 23:33:12 +00:00
database refactor(clippy): Unused self 2025-11-11 13:59:12 +00:00
macros style(clippy): Remove unneeded allocation 2025-11-11 13:59:12 +00:00
main feat: Allow configuring the OTLP protocol 2025-12-29 23:33:12 +00:00
router chore: Fix deprecation warning 2025-11-28 15:08:20 -05:00
service fix: Simplify visibility check code 2025-12-21 17:12:36 +00:00
web feat: Deal with low screen widths in CSS 2025-11-22 20:30:30 +00:00