Update dependency matrix-js-sdk to v34 [SECURITY] #366
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^25.0.0
->^34.0.0
GitHub Vulnerability Alerts
CVE-2024-42369
Impact
A malicious homeserver can craft a room or room structure such that the predecessors form a cycle. The matrix-js-sdk's
getRoomUpgradeHistory
function will infinitely recurse in this case, causing the code to hang. This method is public but also called by the 'leaveRoomChain()' method, so leaving a room will also trigger the bug.Even if the CVSS score would be 4.1 (AV:N/AC:L/PR:L/UI:R/S:C/C:N/I:N/A:L) we classify this as High severity issue.
Patches
This was patched in matrix-js-sdk 34.3.1.
Workarounds
Sanity check rooms before passing them to the matrix-js-sdk or avoid calling either
getRoomUpgradeHistory
orleaveRoomChain
.References
N/A.
CVE-2024-47080
Impact
In matrix-js-sdk versions 9.11.0 through 34.7.0, the method
MatrixClient.sendSharedHistoryKeys
is vulnerable to interception by malicious homeservers. The method implements functionality proposed in MSC3061 and can be used by clients to share historical message keys with newly invited users, granting them access to past messages in the room.However, it unconditionally sends these "shared" keys to all of the invited user's devices, regardless of whether the user's cryptographic identity is verified or whether the user's devices are signed by that identity. This allows the attacker to potentially inject its own devices to receive sensitive historical keys without proper security checks.
Note that this only affects clients running the SDK with the legacy crypto stack. Clients using the new Rust cryptography stack (i.e. those that call
MatrixClient.initRustCrypto()
instead ofMatrixClient.initCrypto()
) are unaffected by this vulnerability, becauseMatrixClient.sendSharedHistoryKeys()
raises an exception in such environments.Patches
Fixed in matrix-js-sdk 34.8.0 by removing the vulnerable functionality.
Workarounds
Remove use of affected functionality from clients.
References
For more information
If you have any questions or comments about this advisory, please email us at security at matrix.org.
Release Notes
matrix-org/matrix-js-sdk (matrix-js-sdk)
v34.8.0
Compare Source
==================================================================================================
This release removes insecure functionality, resolving CVE-2024-47080 / GHSA-4jf8-g8wp-cx7c.
v34.7.0
Compare Source
==================================================================================================
🦖 Deprecations
✨ Features
CryptoApi.pinCurrentUserIdentity
andUserIdentity.needsUserApproval
(#4415). Contributed by @richvdh.v34.6.0
Compare Source
==================================================================================================
🦖 Deprecations
✨ Features
v34.5.0
Compare Source
==================================================================================================
🦖 Deprecations
CryptoCallbacks.onSecretRequested
andCryptoCallbacks.getDehydrationKey
(#4376). Contributed by @richvdh.v34.4.0
Compare Source
==================================================================================================
✨ Features
🐛 Bug Fixes
v34.3.1
Compare Source
==================================================================================================
v34.3.0
Compare Source
==================================================================================================
✨ Features
m.room_key.withheld
messages (#4310). Contributed by @richvdh.🐛 Bug Fixes
v34.2.0
Compare Source
==================================================================================================
🐛 Bug Fixes
v34.1.0
Compare Source
==================================================================================================
✨ Features
🐛 Bug Fixes
v34.0.0
Compare Source
==================================================================================================
🚨 BREAKING CHANGES
✨ Features
🐛 Bug Fixes
v33.1.0
Compare Source
==================================================================================================
✨ Features
🐛 Bug Fixes
v33.0.0
Compare Source
==================================================================================================
🚨 BREAKING CHANGES
🦖 Deprecations
✨ Features
initRustCrypto
: allow app to pass in the store key directly (#4210). Contributed by @richvdh.🐛 Bug Fixes
v32.4.0
Compare Source
==================================================================================================
v32.3.0
Compare Source
==================================================================================================
✨ Features
decodeIdToken
(#4193). Contributed by @t3chguy.🐛 Bug Fixes
m.room.redaction
events withoutredacts
(#4192). Contributed by @t3chguy.v32.2.0
Compare Source
==================================================================================================
✨ Features
🐛 Bug Fixes
v32.1.0
Compare Source
==================================================================================================
✨ Features
🐛 Bug Fixes
v32.0.0
Compare Source
==================================================================================================
🚨 BREAKING CHANGES
✨ Features
decryptExistingEvent
test helper (#4133). Contributed by @richvdh.sendEvent
(#4108). Contributed by @t3chguy.sendStateEvent
(#4105). Contributed by @t3chguy.🐛 Bug Fixes
IPowerLevelsContent
andhasSufficientPowerLevelFor
(#4128). Contributed by @galash13.v31.6.1
Compare Source
==================================================================================================
🐛 Bug Fixes
v31.6.0
Compare Source
==================================================================================================
✨ Features
.m.rule.is_room_mention
push rule to DEFAULT_OVERRIDE_RULES (#4100). Contributed by @t3chguy.🐛 Bug Fixes
v31.5.0
Compare Source
==================================================================================================
✨ Features
🐛 Bug Fixes
v31.4.0
Compare Source
==================================================================================================
✨ Features
account_management_uri
andaccount_management_actions_supported
from OIDC Issuer well-known (#4074). Contributed by @t3chguy.🐛 Bug Fixes
v31.3.0
Compare Source
==================================================================================================
✨ Features
🐛 Bug Fixes
timeline
a getter (#4022). Contributed by @florianduros.v31.2.0
Compare Source
==================================================================================================
✨ Features
🐛 Bug Fixes
roomKeyCounts
less often (#4015). Contributed by @BillCarsonFr.v31.1.0
Compare Source
==================================================================================================
✨ Features
v31.0.0
Compare Source
==================================================================================================
🚨 BREAKING CHANGES
✨ Features
🐛 Bug Fixes
bootstrapSecretStorage
not resetting key backup when requested (#3976). Contributed by @uhoreg.v30.3.0
Compare Source
==================================================================================================
✨ Features
🐛 Bug Fixes
v30.2.0
Compare Source
==================================================================================================
✨ Features
🐛 Bug Fixes
v30.1.0
Compare Source
==================================================================================================
✨ Features
🐛 Bug Fixes
v30.0.1
Compare Source
==================================================================================================
🐛 Bug Fixes
setUserCreator
is called when a store is assigned (#3867). Fixes vector-im/element-web#26520. Contributed by @MidhunSureshR.v30.0.0
Compare Source
==================================================================================================
🚨 BREAKING CHANGES
IndexedDBStore.startup()
must be called after using it onsdk.createClient
now.🦖 Deprecations
MatrixEvent.toJSON
(#3801).✨ Features
CryptoApi#getVersion
(#3838). Contributed by @florianduros.globalBlacklistUnverifiedDevices
field to rust crypto encryption settings (#3790). Fixes vector-im/element-web#26315. Contributed by @florianduros.🐛 Bug Fixes
v29.1.0
Compare Source
==================================================================================================
✨ Features
prompt
param to auth url creation (#3794). Contributed by @kerryarchibald.🐛 Bug Fixes
VerificationRequest.generateQRCode
when QR code is unavailable (#3779). Fixes vector-im/element-web#26300. Contributed by @florianduros.VerificationRequestReceived
on incoming request (#3762). Fixes vector-im/element-web#26245.v29.0.0
Compare Source
==================================================================================================
🚨 BREAKING CHANGES
✨ Features
🐛 Bug Fixes
v28.2.0
Compare Source
==================================================================================================
🦖 Deprecations
getEncryptionInfoForEvent
and deprecategetEventEncryptionInfo
(#3693).✨ Features
🐛 Bug Fixes
v28.1.0
Compare Source
============================================================================================================
🦖 Deprecations
MatrixClient.checkUserTrust
(#3691).MatrixClient.{prepare,create}KeyBackupVersion
in favour of newCryptoApi.resetKeyBackup
API (#3689).✨ Features
CryptoApi.userHasCrossSigningKeys
(#3646). Contributed by @florianduros.join_rule
field to /publicRooms response (#3673). Contributed by @charlynguyen.🐛 Bug Fixes
bootstrapSecretStorage
(#3692). Fixes vector-im/element-web#26115.v28.0.0
Compare Source
==================================================================================================
🚨 BREAKING CHANGES
🦖 Deprecations
Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.