CVE-2021-21320: Matrix React SDK user content sandbox document opening vulnerability

CVE-2021-21320 · Severity: low · CVSS 3.1 · Published 2021-03-03

Matrix React SDK, a JavaScript library for building Matrix chat clients, contains a sandbox bypass vulnerability that allows attackers to trick users into opening arbitrary documents. If exploited, malicious documents can access sensitive user data including messages and authentication secrets through the client's origin.

Technologies: matrix-react-sdk (npm). Vendors: npm.

Quick answers

Is CVE-2021-21320 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2021-21320 being exploited in the wild.
How severe is CVE-2021-21320?
Low severity, with a CVSS score of 3.1, published 3 March 2021.
Which products and versions are affected?
matrix-react-sdk (npm) SEMVER:introduced=0,fixed=3.15.0.
Is there a fix for CVE-2021-21320?
Yes. matrix-react-sdk (npm): upgrade to 3.15.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2021-21320 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2021-21320?
Check whether you run matrix-react-sdk (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • matrix-react-sdk (npm): upgrade to 3.15.0 or later
    npm install matrix-react-sdk@3.15.0

Technical details

The vulnerability exists in the user content sandbox implementation of Matrix React SDK versions prior to 3.15.0. The sandbox could be abused to trick users into opening unexpected documents through social engineering (multiple user interactions). The malicious content could be opened with a blob origin from the Matrix client itself, allowing it to escape the sandbox and access user messages and secrets due to origin confusion. The root cause was a redundant or insufficiently restrictive lockOrigin parameter in the usercontent module. The fix, applied in version 3.15.0, removes this redundant parameter to properly restrict access to each Element client instance's own origin only. No active exploitation in the wild has been reported.

Affected products

  • Matrix.org matrix-react-sdk < 3.15.0

Identifiers

  • CVE-2021-21320
  • GHSA-52mq-6jcv-j79x

Timeline

  • 2021-03-03: disclosed: Security advisory GHSA-52mq-6jcv-j79x published
  • 2021-03-03: patched: Fix included in version 3.15.0

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.