CVE-2021-40823: Infoleak

Published Sep 13, 2021
·
Updated

Impact

A logic error in the room key sharing functionality of matrix-js-sdk before 12.4.1 allows a malicious Matrix homeserver† participating in an encrypted room to steal room encryption keys from affected Matrix clients participating in that room. This allows the homeserver to decrypt end-to-end encrypted messages sent by affected clients.

† Or anyone with access to the account of the original recipient of an encrypted message.

Known clients affected (via their use of vulnerable versions of matrix-js-sdk):

- Element Web (1.8.2 and earlier) - Element Desktop (1.8.2 and earlier) - SchildiChat Web (1.7.32-sc1 and earlier) - SchildiChat Desktop (1.7.32-sc1 and earlier) - Cinny (1.2.0 and earlier)

Patch

This was fixed in https://github.com/matrix-org/matrix-js-sdk/commit/894c24880da0e1cc81818f51c0db80e3c9fb2be9.

Workarounds To prevent a homeserver from being able to steal the room keys, vulnerable clients can be taken offline or signed out. If signing out, care should be taken to either set up Secure Backup or export E2E room keys in order to preserve access to past messages.

Other sources

A logic error in the room key sharing functionality of matrix-js-sdk (aka Matrix Javascript SDK) before 12.4.1 allows a malicious Matrix homeserver present in an encrypted room to steal room encryption keys (via crafted Matrix protocol messages) that were originally sent by affected Matrix clients participating in that room. This allows the homeserver to decrypt end-to-end encrypted messages sent by affected clients.

Affected Software

2 affected componentsFixes available
npm/matrix-js-sdk<12.4.1
12.4.1
matrix Javascript SDK<12.4.1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade npm/matrix-js-sdk to a version that resolves this vulnerability.

    Fixed in 12.4.1
  2. Upgrade

    Upgrade matrix-js-sdk to a version that resolves this vulnerability.

    Fixed in 12.4.1Patch 894c24880da0e1cc81818f51c0db80e3c9fb2be9
  3. Compensating control

    Take vulnerable Matrix clients offline (Cinny 1.2.0 and earlier; Element Desktop 1.8.2 and earlier; Element Web 1.8.2 and earlier; SchildiChat Desktop 1.7.32-sc1 and earlier; SchildiChat Web 1.7.32-sc1 and earlier) to prevent a malicious homeserver from stealing room encryption keys.

  4. Compensating control

    Sign out vulnerable clients (Cinny 1.2.0 and earlier; Element Desktop 1.8.2 and earlier; Element Web 1.8.2 and earlier; SchildiChat Desktop 1.7.32-sc1 and earlier; SchildiChat Web 1.7.32-sc1 and earlier) to prevent a malicious homeserver from stealing room encryption keys. If signing out, set up Secure Backup or export E2E room keys to preserve access to past messages.

Event History

Sep 13, 2021
CVE Published
via MITRE·06:45 PM
Data Sourced
via MITRE·06:45 PM
Description
Data Sourced
via NVD·07:15 PM
DescriptionSeverityWeaknessAffected Software
Sep 14, 2021
Advisory Published
08:24 PM
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is CVE-2021-40823?

CVE-2021-40823 is a vulnerability in the room key sharing functionality of matrix-js-sdk (aka Matrix Javascript SDK) before version 12.4.1.

2

What is the impact of CVE-2021-40823?

The vulnerability allows a malicious Matrix homeserver to steal room encryption keys from affected Matrix clients participating in an encrypted room.

3

How can a malicious Matrix homeserver exploit CVE-2021-40823?

A malicious Matrix homeserver can exploit the vulnerability by participating in an encrypted room and stealing room encryption keys from affected Matrix clients.

4

What is the severity of CVE-2021-40823?

The severity of CVE-2021-40823 is medium with a CVSS severity score of 5.9.

5

How can I fix CVE-2021-40823?

To fix CVE-2021-40823, update to version 12.4.1 or later of matrix-js-sdk.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203