NodeJS/matrix-react-sdk/3.54.0-rc.1
SDK for matrix.org using React
https://www.npmjs.com/package/matrix-react-sdk
Apache-2.0
3 Security Vulnerabilities
Prototype pollution in matrix-react-sdk
- https://github.com/matrix-org/matrix-react-sdk/security/advisories/GHSA-2x9c-qwgf-94xr
- https://github.com/matrix-org/matrix-react-sdk/security/advisories/GHSA-6g43-88cp-w5gv
- https://nvd.nist.gov/vuln/detail/CVE-2023-28103
- https://matrix.org/blog/2023/03/28/security-releases-matrix-js-sdk-24-0-0-and-matrix-react-sdk-3-69-0
- https://github.com/advisories/GHSA-6g43-88cp-w5gv
Impact
In certain configurations, data sent by remote servers containing special strings in key locations could cause modifications of the Object.prototype
, disrupting matrix-react-sdk functionality, causing denial of service and potentially affecting program logic.
(This is part 2, where CVE-2022-36060 / GHSA-2x9c-qwgf-94xr is part 1. Part 2 covers remaining vectors not covered by part 1, found in a codebase audit scheduled after part 1.)
Patches
This is fixed in matrix-react-sdk 3.69.0
Workarounds
None.
References
- Release blog post
- The advisory GHSA-2x9c-qwgf-94xr (CVE-2022-36060) refers to an initial set of vulnerable locations discovered and patched in matrix-react-sdk 3.53.0. We opted not to disclose that advisory while we performed an audit of the codebase and are now disclosing it jointly with this one.
For more information
If you have any questions or comments about this advisory please email us at security at matrix.org.
matrix-react-sdk vulnerable to XSS in Export Chat feature
- https://github.com/matrix-org/matrix-react-sdk/security/advisories/GHSA-c9vx-2g7w-rp65
- https://github.com/matrix-org/matrix-react-sdk/commit/22fcd34c606f32129ebc967fc21f24fb708a98b8
- https://github.com/matrix-org/matrix-react-sdk/releases/tag/v3.76.0
- https://github.com/advisories/GHSA-c9vx-2g7w-rp65
- https://nvd.nist.gov/vuln/detail/CVE-2023-37259
Description
The Export Chat feature includes certain attacker-controlled elements in the generated document without sufficient escaping, leading to stored XSS.
Impact
Since the Export Chat feature generates a separate document, an attacker can only inject code run from the null
origin, restricting the impact.
However, the attacker can still potentially use the XSS to leak message contents. A malicious homeserver is a potential attacker since the affected inputs are controllable server-side.
Patches
This was patched in matrix-react-sdk 3.76.0.
Workarounds
None, other than not using the Export Chat feature.
References
N/A
HTML injection in search results via plaintext message highlighting
- https://github.com/matrix-org/matrix-react-sdk/security/advisories/GHSA-xv83-x443-7rmw
- https://nvd.nist.gov/vuln/detail/CVE-2023-30609
- https://github.com/matrix-org/matrix-react-sdk/commit/bf182bc94556849d7acdfa0e5fdea2aa129ea826
- https://github.com/matrix-org/matrix-react-sdk/releases/tag/v3.71.0
- https://github.com/advisories/GHSA-xv83-x443-7rmw
Impact
Plain text messages containing HTML tags are rendered as HTML in the search results. To exploit this, an attacker needs to trick a user into searching for a specific message containing an HTML injection payload.
Cross-site scripting is possible by including resources from recaptcha.net
and gstatic.com
which are included in the default CSP.
Thanks to Cadence Ember for finding the injection and to S1m for finding possible XSS vectors.
Patches
Version 3.71.0 of the SDK fixes the issue.
Workarounds
Restarting the client will clear the injection.
518 Other Versions
Version | License | Security | Released | |
---|---|---|---|---|
2.1.0-rc.1 | Apache-2.0 | 6 | 2020-02-13 - 17:36 | over 4 years |
2.0.0 | Apache-2.0 | 6 | 2020-01-27 - 11:45 | over 4 years |
2.0.0-rc.2 | Apache-2.0 | 6 | 2020-01-22 - 14:19 | over 4 years |
1.7.6 | Apache-2.0 | 6 | 2020-01-13 - 13:09 | over 4 years |
1.7.6-rc.2 | Apache-2.0 | 6 | 2020-01-08 - 11:21 | over 4 years |
1.7.6-rc.1 | Apache-2.0 | 6 | 2020-01-06 - 14:02 | over 4 years |
1.7.5 | Apache-2.0 | 6 | 2019-12-09 - 11:35 | over 4 years |
1.7.5-rc.1 | Apache-2.0 | 6 | 2019-12-04 - 12:04 | over 4 years |
1.7.4 | Apache-2.0 | 6 | 2019-11-27 - 10:39 | over 4 years |
1.7.3 | Apache-2.0 | 6 | 2019-11-25 - 13:32 | over 4 years |
1.7.3-rc.2 | Apache-2.0 | 6 | 2019-11-22 - 17:26 | over 4 years |
1.7.3-rc.1 | Apache-2.0 | 6 | 2019-11-20 - 18:30 | over 4 years |
1.7.2 | Apache-2.0 | 6 | 2019-11-06 - 14:17 | over 4 years |
1.7.1 | Apache-2.0 | 6 | 2019-11-04 - 15:13 | over 4 years |
1.7.1-rc.2 | Apache-2.0 | 6 | 2019-11-01 - 10:18 | over 4 years |
1.7.1-rc.1 | Apache-2.0 | 6 | 2019-10-30 - 16:48 | over 4 years |
1.7.0 | Apache-2.0 | 6 | 2019-10-18 - 13:49 | over 4 years |
1.7.0-rc.1 | Apache-2.0 | 6 | 2019-10-09 - 15:58 | over 4 years |
1.6.2 | Apache-2.0 | 6 | 2019-10-04 - 09:37 | over 4 years |
1.6.2-rc.1 | Apache-2.0 | 6 | 2019-10-02 - 09:26 | over 4 years |
1.6.1 | Apache-2.0 | 6 | 2019-10-01 - 10:40 | over 4 years |
1.6.0 | Apache-2.0 | 6 | 2019-09-27 - 10:52 | over 4 years |
1.6.0-rc.2 | Apache-2.0 | 6 | 2019-09-26 - 11:06 | over 4 years |
1.6.0-rc.1 | Apache-2.0 | 6 | 2019-09-25 - 16:28 | over 4 years |
1.5.3 | Apache-2.0 | 6 | 2019-09-16 - 16:45 | over 4 years |
1.5.3-rc.3 | Apache-2.0 | 6 | 2019-09-13 - 15:19 | almost 5 years |
1.5.3-rc.2 | Apache-2.0 | 6 | 2019-09-13 - 13:23 | almost 5 years |
1.5.3-rc.1 | Apache-2.0 | 6 | 2019-09-12 - 17:37 | almost 5 years |
1.5.2 | Apache-2.0 | 6 | 2019-09-12 - 11:56 | almost 5 years |
1.5.2-rc.1 | Apache-2.0 | 6 | 2019-09-11 - 17:44 | almost 5 years |
1.5.1 | Apache-2.0 | 6 | 2019-08-05 - 13:34 | almost 5 years |
1.5.0 | Apache-2.0 | 6 | 2019-08-05 - 11:02 | almost 5 years |
1.5.0-rc.1 | Apache-2.0 | 6 | 2019-07-31 - 15:47 | almost 5 years |
1.4.0 | Apache-2.0 | 6 | 2019-07-18 - 14:51 | almost 5 years |
1.4.0-rc.3 | Apache-2.0 | 6 | 2019-07-15 - 16:29 | almost 5 years |
1.4.0-rc.2 | Apache-2.0 | 6 | 2019-07-12 - 16:33 | almost 5 years |
1.4.0-rc.1 | Apache-2.0 | 6 | 2019-07-12 - 10:29 | almost 5 years |
1.3.1 | Apache-2.0 | 6 | 2019-07-11 - 10:04 | almost 5 years |
1.3.0 | Apache-2.0 | 6 | 2019-07-08 - 09:53 | almost 5 years |
1.3.0-rc.1 | Apache-2.0 | 6 | 2019-07-03 - 15:56 | almost 5 years |
1.2.2 | Apache-2.0 | 6 | 2019-06-19 - 14:52 | almost 5 years |
1.2.2-rc.2 | Apache-2.0 | 6 | 2019-06-18 - 14:53 | almost 5 years |
1.2.2-rc.1 | Apache-2.0 | 6 | 2019-06-12 - 11:00 | about 5 years |
1.2.1 | Apache-2.0 | 6 | 2019-05-31 - 10:26 | about 5 years |
1.2.0 | Apache-2.0 | 6 | 2019-05-29 - 15:02 | about 5 years |
1.2.0-rc.1 | Apache-2.0 | 6 | 2019-05-23 - 16:16 | about 5 years |
1.1.2 | Apache-2.0 | 6 | 2019-05-15 - 13:31 | about 5 years |
1.1.1 | Apache-2.0 | 6 | 2019-05-14 - 12:49 | about 5 years |
1.1.0 | Apache-2.0 | 6 | 2019-05-07 - 14:36 | about 5 years |
1.1.0-rc.1 | Apache-2.0 | 6 | 2019-04-30 - 11:02 | about 5 years |
1.0.7 | Apache-2.0 | 6 | 2019-04-08 - 14:13 | about 5 years |
1.0.6 | Apache-2.0 | 6 | 2019-04-01 - 12:44 | about 5 years |
1.0.6-rc.1 | Apache-2.0 | 6 | 2019-03-27 - 17:40 | about 5 years |
1.0.5 | Apache-2.0 | 6 | 2019-03-21 - 10:28 | about 5 years |
1.0.4 | Apache-2.0 | 6 | 2019-03-18 - 13:57 | about 5 years |
1.0.4-rc.1 | Apache-2.0 | 6 | 2019-03-13 - 14:54 | over 5 years |
1.0.3 | Apache-2.0 | 6 | 2019-03-06 - 15:47 | over 5 years |
1.0.2 | Apache-2.0 | 6 | 2019-03-06 - 11:27 | over 5 years |
1.0.2-rc.4 | Apache-2.0 | 6 | 2019-03-05 - 19:18 | over 5 years |
1.0.2-rc.3 | Apache-2.0 | 6 | 2019-03-01 - 17:37 | over 5 years |
1.0.2-rc.2 | Apache-2.0 | 6 | 2019-03-01 - 12:18 | over 5 years |
1.0.2-rc.1 | Apache-2.0 | 6 | 2019-02-28 - 14:49 | over 5 years |
1.0.1 | Apache-2.0 | 6 | 2019-02-15 - 12:53 | over 5 years |
1.0.0 | Apache-2.0 | 6 | 2019-02-14 - 16:55 | over 5 years |
1.0.0-rc.2 | Apache-2.0 | 6 | 2019-02-14 - 11:16 | over 5 years |
1.0.0-rc.1 | Apache-2.0 | 6 | 2019-02-08 - 18:44 | over 5 years |
0.14.8 | Apache-2.0 | 6 | 2019-01-22 - 11:27 | over 5 years |
0.14.8-rc.1 | Apache-2.0 | 6 | 2019-01-17 - 10:55 | over 5 years |
0.14.7 | Apache-2.0 | 6 | 2018-12-10 - 13:44 | over 5 years |
0.14.7-rc.2 | Apache-2.0 | 6 | 2018-12-06 - 12:40 | over 5 years |
0.14.7-rc.1 | Apache-2.0 | 6 | 2018-12-06 - 11:19 | over 5 years |
0.14.6 | Apache-2.0 | 6 | 2018-11-22 - 16:55 | over 5 years |
0.14.5 | Apache-2.0 | 6 | 2018-11-19 - 15:19 | over 5 years |
0.14.5-rc.2 | Apache-2.0 | 6 | 2018-11-15 - 15:30 | over 5 years |
0.14.5-rc.1 | Apache-2.0 | 6 | 2018-11-15 - 12:19 | over 5 years |
0.14.4 | Apache-2.0 | 6 | 2018-11-13 - 18:50 | over 5 years |
0.14.3 | Apache-2.0 | 6 | 2018-11-13 - 17:58 | over 5 years |
0.14.2 | Apache-2.0 | 6 | 2018-10-29 - 14:07 | over 5 years |
0.14.2-rc.1 | Apache-2.0 | 6 | 2018-10-24 - 10:24 | over 5 years |
0.14.1 | Apache-2.0 | 6 | 2018-10-19 - 14:39 | over 5 years |
0.14.0 | Apache-2.0 | 6 | 2018-10-16 - 09:54 | over 5 years |
0.14.0-rc.1 | Apache-2.0 | 6 | 2018-10-11 - 14:40 | over 5 years |
0.13.6 | Apache-2.0 | 6 | 2018-10-08 - 15:08 | over 5 years |
0.13.5 | Apache-2.0 | 6 | 2018-10-01 - 14:09 | over 5 years |
0.13.5-rc.1 | Apache-2.0 | 6 | 2018-09-27 - 12:51 | over 5 years |
0.13.4 | Apache-2.0 | 6 | 2018-09-10 - 10:39 | almost 6 years |
0.13.4-rc.1 | Apache-2.0 | 6 | 2018-09-07 - 13:36 | almost 6 years |
0.13.3 | Apache-2.0 | 6 | 2018-09-03 - 13:26 | almost 6 years |
0.13.3-rc.2 | Apache-2.0 | 6 | 2018-08-31 - 12:49 | almost 6 years |
0.13.3-rc.1 | Apache-2.0 | 6 | 2018-08-30 - 13:29 | almost 6 years |
0.13.2 | Apache-2.0 | 6 | 2018-08-23 - 14:26 | almost 6 years |
0.13.1 | Apache-2.0 | 6 | 2018-08-20 - 12:56 | almost 6 years |
0.13.1-rc.1 | Apache-2.0 | 6 | 2018-08-16 - 14:27 | almost 6 years |
0.13.0 | Apache-2.0 | 6 | 2018-07-30 - 10:58 | almost 6 years |
0.13.0-rc.2 | Apache-2.0 | 6 | 2018-07-24 - 18:35 | almost 6 years |
0.13.0-rc.1 | Apache-2.0 | 6 | 2018-07-24 - 17:32 | almost 6 years |
0.12.9 | Apache-2.0 | 6 | 2018-07-09 - 12:11 | almost 6 years |
0.12.9-rc.2 | Apache-2.0 | 6 | 2018-07-06 - 14:52 | almost 6 years |
0.12.9-rc.1 | Apache-2.0 | 6 | 2018-07-04 - 10:23 | almost 6 years |
0.12.8 | Apache-2.0 | 6 | 2018-06-29 - 10:40 | almost 6 years |