Improper authentication in matrix-org matrix-appservice-bridge
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- High · None · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · NVD. Fix status from CNA and GitHub. Impact type from CWE-287.
Summary
matrix-appservice-bridge provides an API for setting up bridges. Starting in version 4.0.0 and prior to versions 8.1.2 and 9.0.1, a malicious Matrix server can use a foreign user's MXID in an OpenID exchange, allowing a bad actor to impersonate users when using the provisioning API. The library does not check that the servername part of the `sub` parameter (containing the user's *claimed* MXID) is the the same as the servername we are talking to. A malicious actor could spin up a server on any given domain, respond with a `sub` parameter according to the user they want to act as and use the resulting token to perform provisioning requests. Versions 8.1.2 and 9.0.1 contain a patch. As a workaround, disable the provisioning API.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| matrix-org | matrix-appservice-bridge | 4.0.0 to before 8.1.2; = 9.0.0 | 8.1.2 | Patch available | CNA |
| — | matrix-appservice-bridge (npm) | 4.0.0 to before 8.1.2 | 8.1.2 | Patch available | GHSA-vc7j-h8xg-fv5x |
| — | matrix-appservice-bridge (npm) | 9.0.0 to before 9.0.1 | 9.0.1 | Patch available | GHSA-vc7j-h8xg-fv5x |
- matrix-appservice-bridge Vendormatrix-org Affected 4.0.0 to before 8.1.2; = 9.0.0 Fixed in 8.1.2 Patch available CNA
- matrix-appservice-bridge (npm) Vendor— Affected 4.0.0 to before 8.1.2 Fixed in 8.1.2 Patch available GHSA-vc7j-h8xg-fv5x
- matrix-appservice-bridge (npm) Vendor— Affected 9.0.0 to before 9.0.1 Fixed in 9.0.1 Patch available GHSA-vc7j-h8xg-fv5x
CPE configurations NVD · 2
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:matrix:matrix-appservice-bridge:*:*:*:*:*:node.js:*:* | 4.0.0 to before 8.1.2 | Vulnerable | matrix-org |
| cpe:2.3:a:matrix:matrix-appservice-bridge:9.0.0:*:*:*:*:node.js:*:* | 9.0.0 | Vulnerable | matrix-org |
- cpe:2.3:a:matrix:matrix-appservice-bridge:*:*:*:*:*:node.js:*:* Versions 4.0.0 to before 8.1.2 Vulnerable ·matrix-org
- cpe:2.3:a:matrix:matrix-appservice-bridge:9.0.0:*:*:*:*:node.js:*:* Versions 9.0.0 Vulnerable ·matrix-org
Remediation
- Fix · CNA matrix-appservice-bridge (matrix-org) Fixed in 8.1.2
- Fix · GHSA-vc7j-h8xg-fv5x matrix-appservice-bridge (npm) Fixed in 8.1.2 Advisory →
- Fix · GHSA-vc7j-h8xg-fv5x matrix-appservice-bridge (npm) Fixed in 9.0.1 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2023-38691
- 2026-10-03 Alias added: GHSA-vc7j-h8xg-fv5x
References
Advisory 2
More matrix-org Matrix-appservice-bridge vulnerabilities
- TI-2021-12327 Automatic room upgrade handling can be used maliciously to bridge a room non-consentually CVSS 3.1MEDIUM 6.5
Sources
- CVE-2023-38691 · CVE Program
- CVE-2023-38691 · NVD
- FIRST EPSS
- GHSA-vc7j-h8xg-fv5x · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences