CVE-2024-39691 json
Malicious Matrix homeserver can leak truncated message content of messages it shouldn't have access to
published 2024-07-05 2 y ago modified 2026-09-10 1 mo ago also EUVD-2024-2434 , GHSA-w9mh-5x8j-9754
- cvss
- 4.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 42%
- public exploits
- 0
- none known
Summary
matrix-appservice-irc is a Node.js IRC bridge for the Matrix messaging protocol. 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. 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. As a workaround, it's possible to limit the amount of information leaked by setting a reply template that doesn't contain the original message.
Patch / fix
- npm matrix-appservice-irc 2.0.1
- matrix matrix_irc_bridge 2.0.1
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 2 y ago
Exploit prediction
0.50% chance of exploitation in the next 30 days, higher than 42% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 4.3 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N |
| GitHub | 3.1 | 4.3 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | matrix-appservice-irc | <2.0.1 |
2.0.1 |
Affected products
- matrix-org matrix-appservice-irc
Classification
References
-
github.com
/matrix-org/matrix-appservice-irc/pull/1804
web
-
github.com
/matrix-org/matrix-appservice-irc/commit/1835e047f269001054be4c68867797aa12372a0f
web
-
github.com
/matrix-org/matrix-appservice-irc/security/advisories/GHSA-w9mh-5x8j-9754
web
-
github.com
/matrix-org/matrix-appservice-irc/blob/d5d67d1d3ea3f0f6962a0af2cc57b56af3ad2129/config.sample.yaml#L601-L604
web
-
nvd.nist.gov
/vuln/detail/CVE-2024-39691
advisory
-
github.com
/matrix-org/matrix-appservice-irc
package
Sources
- CVE List CVE-2024-39691
- GitHub Advisory GHSA-w9mh-5x8j-9754
- NVD CVE-2024-39691
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.