{"id":"CVE-2023-29529","aliases":["DEBIAN-CVE-2023-29529","EUVD-2023-1214","GHSA-6g67-q39g-r79q","UBUNTU-CVE-2023-29529"],"status":"published","title":"matrix-js-sdk vulnerable to invisible eavesdropping in group calls","description":"matrix-js-sdk is the Matrix Client-Server SDK for JavaScript and TypeScript. An attacker present in a room where an MSC3401 group call is taking place can eavesdrop on the video and audio of participants using matrix-js-sdk, without their knowledge. To affected matrix-js-sdk users, the attacker will not appear to be participating in the call. This attack is possible because matrix-js-sdk's group call implementation accepts incoming direct calls from other users, even if they have not yet declared intent to participate in the group call, as a means of resolving a race condition in call setup. Affected versions do not restrict access to the user's outbound media in this case. Legacy 1:1 calls are unaffected. This is fixed in matrix-js-sdk 24.1.0. As a workaround, users may hold group calls in private rooms where only the exact users who are expected to participate in the call are present.","severity":{"version":"3.1","score":5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.00543,"percentile":0.45939,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-862"],"published":"2023-04-14T16:14:17Z","modified":"2026-10-28T02:30:44Z","fixes":[{"ecosystem":"npm","package":"matrix-js-sdk","fixed_in":["24.1.0"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"matrix-js-sdk","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"24.1.0"}]}]},{"source":"osv","ecosystem":"Debian:11","package":"node-matrix-js-sdk","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["9.11.0+~cs9.9.16-1","9.11.0+~cs9.9.16-2","9.3.0+~cs9.9.16-2","9.7.0~~rc1+~cs9.9.16-1","9.7.0~~rc1+~cs9.9.16-2"]},{"source":"osv","ecosystem":"npm","package":"matrix-js-sdk","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"24.1.0"}]}]},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"node-matrix-js-sdk","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.9.2-1"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"node-matrix-js-sdk","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["9.3.0+~cs9.9.16-2","9.11.0+~cs9.9.16-1"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"node-matrix-js-sdk","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["9.11.0+~cs9.9.16-2"]}],"products":[{"vendor":"matrix","product":"javascript_sdk"},{"vendor":"matrix-org","product":"matrix-js-sdk"}],"references":[{"url":"https://github.com/matrix-org/matrix-js-sdk/security/advisories/GHSA-6g67-q39g-r79q","tags":["x_refsource_CONFIRM","x_transferred","Vendor Advisory","advisory","web","report"]},{"url":"https://github.com/matrix-org/matrix-spec-proposals/pull/3401","tags":["x_refsource_MISC","x_transferred","Issue Tracking","Patch","fix","web","report"]},{"url":"https://github.com/matrix-org/matrix-js-sdk/releases/tag/v24.1.0","tags":["x_refsource_MISC","x_transferred","Release Notes","web","report"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2023-29529","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-6g67-q39g-r79q"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/29xxx/CVE-2023-29529.json","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2023-29529","tags":["advisory"]},{"url":"https://github.com/matrix-org/matrix-js-sdk","tags":["package"]},{"url":"https://ubuntu.com/security/CVE-2023-29529","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2023-29529","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2023-29529","title":"matrix-js-sdk vulnerable to invisible eavesdropping in group calls","description":"matrix-js-sdk is the Matrix Client-Server SDK for JavaScript and TypeScript. An attacker present in a room where an MSC3401 group call is taking place can eavesdrop on the video and audio of participants using matrix-js-sdk, without their knowledge. To affected matrix-js-sdk users, the attacker will not appear to be participating in the call. This attack is possible because matrix-js-sdk's group call implementation accepts incoming direct calls from other users, even if they have not yet declared intent to participate in the group call, as a means of resolving a race condition in call setup. Affected versions do not restrict access to the user's outbound media in this case. Legacy 1:1 calls are unaffected. This is fixed in matrix-js-sdk 24.1.0. As a workaround, users may hold group calls in private rooms where only the exact users who are expected to participate in the call are present.","status":"published","published":"2023-04-14T18:21:17.05Z","modified":"2025-02-06T18:45:34.043Z","cvss":[{"version":"3.1","score":5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-862"],"updated_at":"2026-11-02T14:35:28.643185Z"}],"euvd":[{"id":"EUVD-2023-1214","description":"matrix-js-sdk is the Matrix Client-Server SDK for JavaScript and TypeScript. An attacker present in a room where an MSC3401 group call is taking place can eavesdrop on the video and audio of participants using matrix-js-sdk, without their knowledge. To affected matrix-js-sdk users, the attacker will not appear to be participating in the call. This attack is possible because matrix-js-sdk's group call implementation accepts incoming direct calls from other users, even if they have not yet declared intent to participate in the group call, as a means of resolving a race condition in call setup. Affected versions do not restrict access to the user's outbound media in this case. Legacy 1:1 calls are unaffected. This is fixed in matrix-js-sdk 24.1.0. As a workaround, users may hold group calls in private rooms where only the exact users who are expected to participate in the call are present.","status":"published","published":"2023-04-14T18:21:17Z","modified":"2025-02-06T18:45:34Z","cvss":[{"version":"3.1","score":5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N","level":"medium"}],"updated_at":"2026-11-03T00:04:02.906364Z"}],"ghsa":[{"id":"GHSA-6g67-q39g-r79q","title":"matrix-js-sdk vulnerable to invisible eavesdropping in group calls","description":"### Impact\n\nAn attacker present in a room where an [MSC3401](https://github.com/matrix-org/matrix-spec-proposals/pull/3401) group call is taking place can eavesdrop on the video and audio of participants using matrix-js-sdk, without their knowledge. To affected matrix-js-sdk users, the attacker will not appear to be participating in the call.\n\nThis attack is possible because matrix-js-sdk's group call implementation accepts incoming direct calls from other users, even if they have not yet declared intent to participate in the group call, as a means of resolving a race condition in call setup. Affected versions do not restrict access to the user's outbound media in this case.\n\nLegacy 1:1 calls are unaffected.\n\n### Workarounds\n\nUsers may hold group calls in private rooms where only the exact users who are expected to participate in the call are present.","status":"published","published":"2023-04-14T16:14:17Z","modified":"2023-04-25T16:35:48Z","cvss":[{"version":"3.1","score":5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N","level":"medium"}],"cwes":["CWE-862"],"updated_at":"2026-11-02T14:36:51.39133Z"}],"nvd":[{"id":"CVE-2023-29529","description":"matrix-js-sdk is the Matrix Client-Server SDK for JavaScript and TypeScript. An attacker present in a room where an MSC3401 group call is taking place can eavesdrop on the video and audio of participants using matrix-js-sdk, without their knowledge. To affected matrix-js-sdk users, the attacker will not appear to be participating in the call. This attack is possible because matrix-js-sdk's group call implementation accepts incoming direct calls from other users, even if they have not yet declared intent to participate in the group call, as a means of resolving a race condition in call setup. Affected versions do not restrict access to the user's outbound media in this case. Legacy 1:1 calls are unaffected. This is fixed in matrix-js-sdk 24.1.0. As a workaround, users may hold group calls in private rooms where only the exact users who are expected to participate in the call are present.","status":"published","published":"2023-04-14T19:15:09.4Z","modified":"2026-06-17T05:50:28.423Z","cvss":[{"version":"3.1","score":5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N","level":"medium","assessor":"secondary"},{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-862"],"updated_at":"2026-11-02T14:07:55.652109Z"}],"osv":[{"id":"CVE-2023-29529","title":"matrix-js-sdk vulnerable to invisible eavesdropping in group calls","description":"matrix-js-sdk is the Matrix Client-Server SDK for JavaScript and TypeScript. An attacker present in a room where an MSC3401 group call is taking place can eavesdrop on the video and audio of participants using matrix-js-sdk, without their knowledge. To affected matrix-js-sdk users, the attacker will not appear to be participating in the call. This attack is possible because matrix-js-sdk's group call implementation accepts incoming direct calls from other users, even if they have not yet declared intent to participate in the group call, as a means of resolving a race condition in call setup. Affected versions do not restrict access to the user's outbound media in this case. Legacy 1:1 calls are unaffected. This is fixed in matrix-js-sdk 24.1.0. As a workaround, users may hold group calls in private rooms where only the exact users who are expected to participate in the call are present.","status":"published","published":"2023-04-14T18:21:17.05Z","modified":"2026-10-28T02:30:44.501080423Z","cvss":[{"version":"3.1","score":5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N","level":"medium"}],"cwes":["CWE-862"],"updated_at":"2026-11-02T15:44:31.468318Z"},{"id":"DEBIAN-CVE-2023-29529","description":"matrix-js-sdk is the Matrix Client-Server SDK for JavaScript and TypeScript. An attacker present in a room where an MSC3401 group call is taking place can eavesdrop on the video and audio of participants using matrix-js-sdk, without their knowledge. To affected matrix-js-sdk users, the attacker will not appear to be participating in the call. This attack is possible because matrix-js-sdk's group call implementation accepts incoming direct calls from other users, even if they have not yet declared intent to participate in the group call, as a means of resolving a race condition in call setup. Affected versions do not restrict access to the user's outbound media in this case. Legacy 1:1 calls are unaffected. This is fixed in matrix-js-sdk 24.1.0. As a workaround, users may hold group calls in private rooms where only the exact users who are expected to participate in the call are present.","status":"published","published":"2023-04-14T19:15:09.4Z","modified":"2026-08-27T23:04:39.041949278Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"medium"}],"updated_at":"2026-11-02T15:45:39.679062Z"},{"id":"GHSA-6g67-q39g-r79q","title":"matrix-js-sdk vulnerable to invisible eavesdropping in group calls","description":"### Impact\n\nAn attacker present in a room where an [MSC3401](https://github.com/matrix-org/matrix-spec-proposals/pull/3401) group call is taking place can eavesdrop on the video and audio of participants using matrix-js-sdk, without their knowledge. To affected matrix-js-sdk users, the attacker will not appear to be participating in the call.\n\nThis attack is possible because matrix-js-sdk's group call implementation accepts incoming direct calls from other users, even if they have not yet declared intent to participate in the group call, as a means of resolving a race condition in call setup. Affected versions do not restrict access to the user's outbound media in this case.\n\nLegacy 1:1 calls are unaffected.\n\n### Workarounds\n\nUsers may hold group calls in private rooms where only the exact users who are expected to participate in the call are present.","status":"published","published":"2023-04-14T16:14:17Z","modified":"2026-09-10T03:49:53.562127511Z","cvss":[{"version":"3.1","score":5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N","level":"medium"}],"cwes":["CWE-862"],"updated_at":"2026-11-02T15:46:39.618611Z"},{"id":"UBUNTU-CVE-2023-29529","description":"matrix-js-sdk is the Matrix Client-Server SDK for JavaScript and TypeScript. An attacker present in a room where an MSC3401 group call is taking place can eavesdrop on the video and audio of participants using matrix-js-sdk, without their knowledge. To affected matrix-js-sdk users, the attacker will not appear to be participating in the call. This attack is possible because matrix-js-sdk's group call implementation accepts incoming direct calls from other users, even if they have not yet declared intent to participate in the group call, as a means of resolving a race condition in call setup. Affected versions do not restrict access to the user's outbound media in this case. Legacy 1:1 calls are unaffected. This is fixed in matrix-js-sdk 24.1.0. As a workaround, users may hold group calls in private rooms where only the exact users who are expected to participate in the call are present.","status":"published","published":"2023-04-14T19:15:00Z","modified":"2025-10-24T05:01:55Z","cvss":[{"version":"3.1","score":5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N","level":"medium"},{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"medium"}],"updated_at":"2026-11-02T16:54:20.997471Z"}]}}
