CVE-2024-50336
NoneCVSS
—
EPSS
0.8%
Published
Nov 12, 2024
CISA due date
—
Cloudanix analysis
A bug in a chat library lets other people in the same conversation trick the app into fetching private server information without permission.
- Exploitation
- Remote Authenticated
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Data Tampering
- Component
- Library
- Class
- Path Traversal
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Client-side path traversal via crafted MXC URIs in matrix-js-sdk before 34.11.0 causes the client to issue arbitrary authenticated GET requests to the homeserver.
Why it matters to the business
Attackers sharing a Matrix room can force vulnerable clients to retrieve arbitrary server data using the client's credentials, enabling unauthorized access and potential lateral movement without direct server compromise.
How an attack unfolds
A malicious room member embeds a crafted MXC URI in a message; the victim's matrix-js-sdk client parses the URI and performs an authenticated GET request to an attacker-chosen homeserver path.
How to fix it
Upgrade matrix-js-sdk to version 34.11.1 or later (commit b4c4355d1a34dd3e4b22467f556eebe368768ea5).
How to confirm the fix worked
Confirm matrix-js-sdk version is 34.11.1 or newer; test that crafted MXC URIs no longer result in requests to arbitrary paths.
Typical attack path
- Join the same Matrix room as the target client
- Send a message containing a crafted MXC URI
- Victim client processes the URI and issues the authenticated request
- Attacker receives or observes the results of the unauthorized fetch
How to detect it
Review client application logs and network traffic for authenticated GET requests to homeserver paths that originate from MXC URI processing in room events.
What your security team should do
- Immediately update all deployments of matrix-js-sdk to the fixed version
- Audit Matrix room memberships and remove untrusted participants from sensitive rooms
- Monitor client logs for unexpected authenticated GET requests to non-standard homeserver paths
The record
matrix-js-sdk is a Matrix messaging protocol Client-Server SDK for JavaScript. matrix-js-sdk before 34.11.0 is vulnerable to client-side path traversal via crafted MXC URIs. A malicious room member can trigger clients based on the matrix-js-sdk to issue arbitrary authenticated GET requests to the client's homeserver. Fixed in matrix-js-sdk 34.11.1.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| npm | matrix-js-sdk | 0 | 34.11.1 |
| Debian:11 | node-matrix-js-sdk | 0 | No fix |
| Debian:11 | thunderbird | 0 | No fix |
| Debian:11 | thunderbird | 0 | 1:128.6.0esr-1~deb11u1 |
| Debian:12 | thunderbird | 0 | No fix |
| Debian:12 | thunderbird | 0 | 1:128.6.0esr-1~deb12u1 |
| Debian:13 | thunderbird | 0 | 1:128.5.2esr-1 |
| Mageia:9 | thunderbird | 0 | 128.5.2-1.mga9 |
| Mageia:9 | thunderbird-l10n | 0 | 128.5.2-1.mga9 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP5 | MozillaThunderbird | 0 | 128.5.2-150200.8.194.1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP6 | MozillaThunderbird | 0 | 128.5.2-150200.8.194.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP5 | MozillaThunderbird | 0 | 128.5.2-150200.8.194.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP6 | MozillaThunderbird | 0 | 128.5.2-150200.8.194.1 |
| Ubuntu:18.04:LTS | mozjs38 | 0 | No fix |
| Ubuntu:18.04:LTS | mozjs52 | 0 | No fix |
| Ubuntu:20.04:LTS | mozjs52 | 0 | No fix |
| Ubuntu:20.04:LTS | mozjs68 | 0 | No fix |
| Ubuntu:20.04:LTS | node-matrix-js-sdk | 0 | No fix |
| Ubuntu:22.04:LTS | mozjs102 | 0 | No fix |
| Ubuntu:22.04:LTS | mozjs78 | 0 | No fix |
| Ubuntu:22.04:LTS | mozjs91 | 0 | No fix |
| Ubuntu:22.04:LTS | node-matrix-js-sdk | 0 | No fix |
| Ubuntu:22.04:LTS | thunderbird | 0 | 1:140.7.1+build1-0ubuntu0.22.04.1 |
| Ubuntu:24.04:LTS | mozjs102 | 0 | No fix |
| Ubuntu:24.04:LTS | mozjs115 | 0 | No fix |
| Ubuntu:24.04:LTS | node-matrix-js-sdk | 0 | No fix |
| Ubuntu:24.10 | node-matrix-js-sdk | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | node-matrix-js-sdk | 0 | No fix |
| openSUSE:Leap 15.5 | MozillaThunderbird | 0 | 128.5.2-150200.8.194.1 |
| openSUSE:Leap 15.6 | MozillaThunderbird | 0 | 128.5.2-150200.8.194.1 |
| openSUSE:Tumbleweed | MozillaThunderbird | 0 | 128.5.2-1.1 |
Related vulnerabilities
- CVE-2024-47080 matrix-js-sdk is the Matrix Client-Server SDK for JavaScript and TypeScript. Also affects matrix-js-sdk
- CVE-2025-0243 Memory safety bugs present in Firefox 133, Thunderbird 133, Firefox ESR 128.5, and… Also affects thunderbird
- CVE-2025-0237 The WebChannel API, which is used to transport various information across processes, did… Also affects thunderbird
- CVE-2025-0238 Assuming a controlled failed memory allocation, an attacker could have caused a… Also affects thunderbird
- CVE-2025-0240 Parsing a JavaScript module as JSON could, under some circumstances, cause… Also affects thunderbird
- CVE-2025-0239 When using Alt-Svc, ALPN did not properly validate certificates when the original server… Also affects thunderbird
- CVE-2025-0241 When segmenting specially crafted text, segmentation would corrupt memory leading to a… Also affects thunderbird
- CVE-2025-0242 Memory safety bugs present in Firefox 133, Thunderbird 133, Firefox ESR 115.18, Firefox… Also affects thunderbird