Automatic room upgrade handling can be used maliciously to bridge a room non-consentually
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 · CNA. Fix status from CNA and GitHub. Impact type from CWE-306.
Summary
Matrix-appservice-bridge is the bridging service for the Matrix communication program's application services. In versions 2.6.0 and earlier, if a bridge has room upgrade handling turned on in the configuration (the `roomUpgradeOpts` key when instantiating a new `Bridge` instance.), any `m.room.tombstone` event it encounters will be used to unbridge the current room and bridge into the target room. However, the target room `m.room.create` event is not checked to verify if the `predecessor` field contains the previous room. This means that any malicious admin of a bridged room can repoint the traffic to a different room without the new room being aware. Versions 2.6.1 and greater are patched. As a workaround, disabling the automatic room upgrade handling can be done by removing the `roomUpgradeOpts` key from the `Bridge` class options.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| matrix-org | matrix-appservice-bridge | before 2.6.1 | 2.6.1 | Patch available | CNA |
| — | matrix-appservice-bridge (npm) | before 2.6.1 | 2.6.1 | Patch available | GHSA-35g4-qx3c-vjhx |
- matrix-appservice-bridge Vendormatrix-org Affected before 2.6.1 Fixed in 2.6.1 Patch available CNA
- matrix-appservice-bridge (npm) Vendor— Affected before 2.6.1 Fixed in 2.6.1 Patch available GHSA-35g4-qx3c-vjhx
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:matrix:matrix-appservice-bridge:*:*:*:*:*:node.js:*:* | before 2.6.1 | Vulnerable | matrix-org |
- cpe:2.3:a:matrix:matrix-appservice-bridge:*:*:*:*:*:node.js:*:* Versions before 2.6.1 Vulnerable ·matrix-org
Remediation
- Fix · CNA matrix-appservice-bridge (matrix-org) Fixed in 2.6.1
- Fix · GHSA-35g4-qx3c-vjhx matrix-appservice-bridge (npm) Fixed in 2.6.1 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2021-32659
- 2026-10-03 Alias added: GHSA-35g4-qx3c-vjhx
References
Patch 2
Advisory 2
More matrix-org Matrix-appservice-bridge vulnerabilities
- TI-2023-20040 Improper authentication in matrix-org matrix-appservice-bridge CVSS 3.1MEDIUM 6.5
Sources
- CVE-2021-32659 · CVE Program
- CVE-2021-32659 · NVD
- FIRST EPSS
- GHSA-35g4-qx3c-vjhx · 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