Headline
GHSA-w9mh-5x8j-9754: Malicious Matrix homeserver can leak truncated message content of messages it shouldn't have access to
Impact
The fix for GHSA-wm4w-7h2q-3pf7 / CVE-2024-32000 included in matrix-appservice-irc 2.0.0 relied on the Matrix homeserver-provided timestamp to determine whether a user has access to the event they’re replying to when determining whether or not to include a truncated version of the original event in the IRC message. Since this value is controlled by external entities, a malicious Matrix homeserver joined to a room in which a matrix-appservice-irc bridge instance (before version 2.0.1) is present can fabricate the timestamp with the intent of tricking the bridge into leaking room messages the homeserver should not have access to.
Patches
matrix-appservice-irc 2.0.1 drops the reliance on origin_server_ts
when determining whether or not an event should be visible to a user, instead tracking the event timestamps internally.
Workarounds
It’s possible to limit the amount of information leaked by setting a reply template that doesn’t contain the original message. See these lines in the configuration file.
References
- Patch: https://github.com/matrix-org/matrix-appservice-irc/pull/1804
For more information
If you have any questions or comments about this advisory, please email us at security at matrix.org.
- GitHub Advisory Database
- GitHub Reviewed
- CVE-2024-39691
Malicious Matrix homeserver can leak truncated message content of messages it shouldn’t have access to
Package
npm matrix-appservice-irc (npm)
Affected versions
<= 2.0.0
Impact
The fix for GHSA-wm4w-7h2q-3pf7 / CVE-2024-32000 included in matrix-appservice-irc 2.0.0 relied on the Matrix homeserver-provided timestamp to determine whether a user has access to the event they’re replying to when determining whether or not to include a truncated version of the original event in the IRC message. Since this value is controlled by external entities, a malicious Matrix homeserver joined to a room in which a matrix-appservice-irc bridge instance (before version 2.0.1) is present can fabricate the timestamp with the intent of tricking the bridge into leaking room messages the homeserver should not have access to.
Patches
matrix-appservice-irc 2.0.1 drops the reliance on origin_server_ts when determining whether or not an event should be visible to a user, instead tracking the event timestamps internally.
Workarounds
It’s possible to limit the amount of information leaked by setting a reply template that doesn’t contain the original message. See these lines in the configuration file.
References
- Patch: matrix-org/matrix-appservice-irc#1804
For more information
If you have any questions or comments about this advisory, please email us at security at matrix.org.
References
- GHSA-w9mh-5x8j-9754
- matrix-org/matrix-appservice-irc#1804
- matrix-org/matrix-appservice-irc@1835e04
Published to the GitHub Advisory Database
Jul 5, 2024