Description
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.
Remediation
References
https://github.com/matrix-org/matrix-appservice-bridge/commit/4c6723a5e7beda65cdf1ae5dbb882e8beaac8552
https://github.com/matrix-org/matrix-appservice-bridge/security/advisories/GHSA-vc7j-h8xg-fv5x
Related Vulnerabilities
CVE-2021-21361 Vulnerability in maven package com.bmuschko:gradle-vagrant-plugin
CVE-2022-34870 Vulnerability in maven package org.apache.geode:geode-pulse
CVE-2021-3827 Vulnerability in maven package org.keycloak:keycloak-services
CVE-2021-46708 Vulnerability in npm package swagger-ui
CVE-2022-47105 Vulnerability in maven package org.jeecgframework.boot:jeecg-module-system