Parsing issue in matrix-org/node-irc leading to room takeovers
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Privilege escalation
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-269.
Summary
matrix-appservice-irc is an open source Node.js IRC bridge for Matrix. Attackers can specify a specific string of characters, which would confuse the bridge into combining an attacker-owned channel and an existing channel, allowing them to grant themselves permissions in the channel. The vulnerability has been patched in matrix-appservice-irc 0.35.0. As a workaround operators may disable dynamic channel joining via `dynamicChannels.enabled` to prevent users from joining new channels, which prevents any new channels being bridged outside of what is already bridged, and what is specified in the config.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
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-irc | before 0.35.0 | 0.35.0 | Patch available | CNA |
| — | matrix-appservice-irc (npm) | before 0.35.0 | 0.35.0 | Patch available | GHSA-xvqg-mv25-rwvw |
- matrix-appservice-irc Vendormatrix-org Affected before 0.35.0 Fixed in 0.35.0 Patch available CNA
- matrix-appservice-irc (npm) Vendor— Affected before 0.35.0 Fixed in 0.35.0 Patch available GHSA-xvqg-mv25-rwvw
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:matrix:matrix_irc_bridge:*:*:*:*:*:node.js:*:* | before 0.35.0 | Vulnerable | matrix-org |
- cpe:2.3:a:matrix:matrix_irc_bridge:*:*:*:*:*:node.js:*:* Versions before 0.35.0 Vulnerable ·matrix-org
Remediation
- Fix · CNA matrix-appservice-irc (matrix-org) Fixed in 0.35.0
- Fix · GHSA-xvqg-mv25-rwvw matrix-appservice-irc (npm) Fixed in 0.35.0 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2022-39203
- 2026-10-03 Alias added: GHSA-xvqg-mv25-rwvw
References
Advisory 3
More matrix-org Matrix Irc Bridge vulnerabilities
- TI-2023-20039 matrix-appservice-irc IRC command injection via admin commands containing newlines CVSS 3.1CRITICAL 9.8
- TI-2022-11710 Improper handling of multiline messages in matrix-appservice-irc CVSS 3.1HIGH 8.8
- TI-2022-18582 IRC mode parameter confusion in matrix-appservice-irc CVSS 3.1MEDIUM 6.3
- TI-2022-03640 matrix-appservice-irc PgDataStore.ts sql injection CVSS 3.1MEDIUM 5.6
- TI-2025-20003 Matrix IRC Bridge allows IRC command injection to own puppeted user CVSS 3.1MEDIUM 4.3
- TI-2023-20048 matrix-appservice-irc events can be crafted to leak parts of targeted messages from other bridged rooms CVSS 3.1LOW 3.7
Sources
- CVE-2022-39203 · CVE Program
- CVE-2022-39203 · NVD
- FIRST EPSS
- GHSA-xvqg-mv25-rwvw · 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