Matrix Javascript SDK vulnerable to Olm/Megolm protocol confusion
Matrix Javascript SDK is the Matrix Client-Server SDK for JavaScript. Prior to version 19.7.0, an attacker cooperating with a malicious homeserver can construct messages that legitimately appear to have come from another person, without any indication such as a grey shield. Additionally, a sophisticated attacker cooperating with a malicious homeserver could employ this vulnerability to perform a targeted attack in order to send fake to-device messages appearing to originate from another user. This can allow, for example, to inject the key backup secret during a self-verification, to make a targeted device start using a malicious key backup spoofed by the homeserver. These attacks are possible due to a protocol confusion vulnerability that accepts to-device messages encrypted with Megolm instead of Olm. Starting with version 19.7.0, matrix-js-sdk has been modified to only accept Olm-encrypted to-device messages. Out of caution, several other checks have been audited or added. This attack requires coordination between a malicious home server and an attacker, so those who trust their home servers do not need a workaround.
- Yayın
- 28 Eyl 2022
- Güncelleme
- 17 Haz 2026
- EPSS
- %1,2 · 66. yüzdelik
- CWE
- CWE-287
Takip etmek için giriş yap · Takip ettiğin kayıt KEV’e girer, istismarı çıkar ya da güncellenirse bildirim alırsın.
Rapor araçları
Aksiyon skoru
30
İzleyin
Şimdilik düşük öncelik.
- CVSS
- 30 / 40 · 7.5 / 10
- CISA KEV
- 0 / 30 · Listede değil
- EPSS
- 0 / 30 · %1,2
CISA SSVC kararı
- Sömürü
- yok
- Otomatikleştirilebilir
- evet
- Teknik etki
- kısmi
Vulnrichment: CISA'nın karar ağacı girdileri.
CNA ile NVD puanı
- NVD
- 7,5
- CNA · GitHub_M
- 8,6
- 1,1 puan fark
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:N
Kaydı açan otoritenin puanı ile NVD’nin bağımsız puanı. İki puan arasındaki fark ciddiyetin tartışmalı olduğunu gösterir.
Etkilenen sistemler
| Üretici | Ürün | CPE |
|---|---|---|
| matrix | javascript sdk | cpe:2.3:a:matrix:javascript_sdk |
Etkilenen sürümler
NVD sürüm aralıkları (katalogdaki ürünler için). Stack’ine sürümle eklersen eşleşme bunlarla yapılır.
- matrix javascript sdk19.7.0 öncesi
Üreticinin bildirdiği sürümler
Kaydı açan otorite (GitHub_M) tarafından bildirilen etkilenen sürüm aralıkları. NVD'nin CPE analizinden bağımsızdır ve genellikle ondan önce gelir.
matrix-org matrix-js-sdk
- < 19.7.0etkilenir
Paket düzeyi etkilenme
OSV ve GitHub Advisory verisi: ekosistem, paket ve aralık. SBOM eşleşmesi bu tabloyu kullanır.
| Ekosistem | Paket | Etkilenen aralık | Düzeltme |
|---|---|---|---|
| AlmaLinux:8 | thunderbird | 102.4.0-1.el8_6.alma öncesi | 102.4.0-1.el8_6.alma |
| AlmaLinux:9 | thunderbird | 102.4.0-1.el9_0.alma öncesi | 102.4.0-1.el9_0.alma |
| Debian:11 | node-matrix-js-sdk | tüm sürümler | — |
| npm | matrix-js-sdk | 19.7.0 öncesi | 19.7.0 |
| openSUSE:Tumbleweed | element-desktop | 1.11.8-1.1 öncesi | 1.11.8-1.1 |
| openSUSE:Tumbleweed | element-web | 1.11.8-1.1 öncesi | 1.11.8-1.1 |
| openSUSE:Tumbleweed | MozillaThunderbird | 102.3.1-1.1 öncesi | 102.3.1-1.1 |
| Red Hat:enterprise_linux:7::client | thunderbird | 0:102.4.0-1.el7_9 öncesi | 0:102.4.0-1.el7_9 |
| Red Hat:enterprise_linux:7::client | thunderbird-debuginfo | 0:102.4.0-1.el7_9 öncesi | 0:102.4.0-1.el7_9 |
| Red Hat:enterprise_linux:8::appstream | thunderbird | 0:102.4.0-1.el8_6 öncesi | 0:102.4.0-1.el8_6 |
| Red Hat:enterprise_linux:8::appstream | thunderbird-debuginfo | 0:102.4.0-1.el8_6 öncesi | 0:102.4.0-1.el8_6 |
| Red Hat:enterprise_linux:8::appstream | thunderbird-debugsource | 0:102.4.0-1.el8_6 öncesi | 0:102.4.0-1.el8_6 |
| Red Hat:enterprise_linux:9::appstream | thunderbird | 0:102.4.0-1.el9_0 öncesi | 0:102.4.0-1.el9_0 |
| Red Hat:enterprise_linux:9::appstream | thunderbird-debuginfo | 0:102.4.0-1.el9_0 öncesi | 0:102.4.0-1.el9_0 |
| Red Hat:enterprise_linux:9::appstream | thunderbird-debugsource | 0:102.4.0-1.el9_0 öncesi | 0:102.4.0-1.el9_0 |
| Red Hat:rhel_e4s:8.1::appstream | thunderbird | 0:102.4.0-1.el8_1 öncesi | 0:102.4.0-1.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | thunderbird-debuginfo | 0:102.4.0-1.el8_1 öncesi | 0:102.4.0-1.el8_1 |
| Red Hat:rhel_e4s:8.1::appstream | thunderbird-debugsource | 0:102.4.0-1.el8_1 öncesi | 0:102.4.0-1.el8_1 |
| Red Hat:rhel_eus:8.2::appstream | thunderbird | 0:102.4.0-1.el8_2 öncesi | 0:102.4.0-1.el8_2 |
| Red Hat:rhel_eus:8.2::appstream | thunderbird-debuginfo | 0:102.4.0-1.el8_2 öncesi | 0:102.4.0-1.el8_2 |
| Red Hat:rhel_eus:8.2::appstream | thunderbird-debugsource | 0:102.4.0-1.el8_2 öncesi | 0:102.4.0-1.el8_2 |
| Red Hat:rhel_eus:8.4::appstream | thunderbird | 0:102.4.0-1.el8_4 öncesi | 0:102.4.0-1.el8_4 |
| Red Hat:rhel_eus:8.4::appstream | thunderbird-debuginfo | 0:102.4.0-1.el8_4 öncesi | 0:102.4.0-1.el8_4 |
| Red Hat:rhel_eus:8.4::appstream | thunderbird-debugsource | 0:102.4.0-1.el8_4 öncesi | 0:102.4.0-1.el8_4 |
+4
Aynı üründe
matrix: tüm kayıtlarAynı birincil ürünün en yüksek skorlu diğer kayıtları.
- CVE-2023-28427Prototype pollution in matrix-js-sdk32İzleyin
- CVE-2022-39250Matrix JavaScript SDK vulnerable to key/device identifier confusion in SAS verification30İzleyin
- CVE-2022-39249Matrix Javascript SDK vulnerable to impersonation via forwarded Megolm sessions30İzleyin
- CVE-2021-40823A logic error in the room key sharing functionality of matrix-js-sdk (aka Matrix Javascript SDK) before 12.4.1 allows a malicious Matrix hom23İzleyin
- CVE-2024-42369A room with itself as a its predecessor will freeze matrix-js-sdk21İzleyin
- CVE-2023-29529matrix-js-sdk vulnerable to invisible eavesdropping in group calls21İzleyin
Düzeltme
Hangi sürüme geçmeli
Üretici, paket deposu ve Microsoft kayıtlarından derlenen düzeltme sürümleri. Yükseltmeden önce üreticinin notunu doğrulayın.
| Ürün / paket | Düzeltilmiş sürüm | Kaynak |
|---|---|---|
| almalinux:thunderbird | 102.4.0-1.el9_0.alma · AlmaLinux:9 | Paket deposu (OSV) |
| npm:matrix-js-sdk | 19.7.0 | Paket deposu (OSV) |
| opensuse:element-desktop | 1.11.8-1.1 · openSUSE:Tumbleweed | Paket deposu (OSV) |
| opensuse:element-web | 1.11.8-1.1 · openSUSE:Tumbleweed | Paket deposu (OSV) |
| opensuse:MozillaThunderbird | 102.4.0-150200.8.85.1 · openSUSE:Leap 15.3 | Paket deposu (OSV) |
| red hat:thunderbird | 0:102.4.0-1.el9_0 · Red Hat:enterprise_linux:9::appstream | Paket deposu (OSV) |
| red hat:thunderbird-debuginfo | 0:102.4.0-1.el9_0 · Red Hat:enterprise_linux:9::appstream | Paket deposu (OSV) |
| red hat:thunderbird-debugsource | 0:102.4.0-1.el9_0 · Red Hat:enterprise_linux:9::appstream | Paket deposu (OSV) |
| rocky linux:thunderbird | 0:102.4.0-1.el8_6 · Rocky Linux:8 | Paket deposu (OSV) |
| suse:MozillaThunderbird | 102.4.0-150200.8.85.1 · SUSE:Linux Enterprise Module for Package Hub 15 SP3 | Paket deposu (OSV) |
İstismar durumu
Bilinen kamuya açık istismar yok
Şu an kamuya açık bir istismar görülmedi. Bu, güvende olduğunuz anlamına gelmez; yalnızca eşiğin biraz daha yüksek olduğunu gösterir.
Araştırma bağlamı
Pentester ve araştırmacı için: saldırı profili, puan anlaşmazlığı, zaman çizelgesi, yama commit’leri, kredi, varyant ve zincir adayları, bug bounty kapsamı. Hepsi mevcut veriden türetilir; istismar kodu içermez.
Zaman çizelgesi
Yayından bugüne: kavram kanıtı, Metasploit modülü, CISA KEV ve düzeltme kaydı. Tarihler kaynakların bildirdiği tarihlerdir.
Yayın dışında tarihli olay yok.
FIRST EPSS günlük puanı; yalnızca 0,01 ve üstü değişimler kaydedilir (adım grafiği).
Yama ve commit bağlantıları
Referanslardaki commit, PR ve diff adresleri. Patch-diff ve varyant avı için başlangıç noktası; istismar değil, düzeltmedir.
Kredi
Tüm araştırmacılarCNA kaydında adı geçen bulan, bildiren ve analistler. Ada tıkla, aynı araştırmacının diğer kayıtlarını gör.
CNA kaydında kredi yok.
Varyant adayları
Aynı üründe aynı zafiyet sınıfı, 18 ay içinde. Yama kök nedeni kapatmadıysa kardeş hata burada olur.
Gece hesaplanan ilişki yok.
Zincir adayları
Aynı üründe kimlik doğrulama atlatma ile yetki isteyen bir açık kısa aralıkla yayımlanmış: birlikte kimlik doğrulamasız bir yola dönüşebilir.
—
Bug bounty kapsamı
Bilinen herkese açık program yok.
Kaynak: bounty-targets-data (HackerOne, Bugcrowd, Intigriti, YesWeHack herkese açık listeleri).
Teknik detay
Saldırı koşulları
- İnternetten erişebilen herkes tetikleyebilir.
- Hesap ya da parola gerekmez.
- Kullanıcının bir şey yapması gerekmez.
- Özel bir koşul gerekmez; tekrarlanabilir.
Başarılı olursa
- Gizlilik
- yok
- Bütünlük
- yüksek · veri ya da yapılandırma değiştirilebilir
- Erişilebilirlik
- yok
- Saldırı vektörü
- Ağ
- Karmaşıklık
- Düşük
- Gereken yetki
- Yok
- Kullanıcı etkileşimi
- Gerekmez
- Kapsam
- Değişmez
- Gizlilik etkisi
- Yok
- Bütünlük etkisi
- Yüksek
- Erişilebilirlik etkisi
- Yok
Zayıflık sınıfı (CWE)
CWE-287 · Improper AuthenticationCVSS vektörü
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
nvd-primary
Kök neden
Kimlik doğrulama tek bir merkezden değil, yol yol ekleniyor. Sonradan eklenen bir yol ortak ara katmanı atladığında, oturum kontrolü o yol için hiç çalışmaz.
Hatanın kod karşılığı
CWE-287 sınıfının tamamıBu zafiyet sınıfının temsili örneği. Üreticinin kaynak kodu değildir; hatalı kalıbı ve düzeltmesini gösterir.
Hatalı
app.use("/admin", requireSession, adminRouter);
// Sonradan eklenen yol, ara katmanı atlıyorapp.post("/admin-api/config", updateConfig);Düzeltilmiş
const admin = express.Router();admin.use(requireSession, requireRole("admin"));
admin.post("/config", updateConfig);app.use("/admin", admin);Saldırı bağlamı
Bu zafiyet sınıfının (CWE) MITRE CAPEC saldırı desenleri ve ATT&CK teknikleri. Tespit kuralı ve tehdit avı için başlangıç noktası.
Saldırı desenleri (CAPEC)
- Authentication AbuseCAPEC-114Medium
- Authentication BypassCAPEC-115Medium
- Identity SpoofingCAPEC-151olasılık: Medium · Medium
- Fake the Source of DataCAPEC-194Medium
- Exploiting Trust in ClientCAPEC-22olasılık: High · High
- Utilizing REST's Trust in the System Resource to Obtain Sensitive DataCAPEC-57olasılık: Medium · Very High
- Session HijackingCAPEC-593olasılık: High · Very High
- Token ImpersonationCAPEC-633Medium
ATT&CK teknikleri
Noroxi analizi
Bu kayıt için henüz Noroxi analizi yok
385 binden fazla zafiyetin tamamına elle analiz yazmıyoruz; bu dürüst olmazdı. Öne çıkan ve sahada etkisi olan zafiyetler için mekanizma, tespit ve kapatma adımlarını ekibimiz yazıyor.
Bu ürünü kullanıyoruz, yardım isteyinDeğişiklik günlüğü
- Düzeltme✗ → ✓
Takip ettiğiniz kayıtlarda bu değişiklikler bildirim olarak da gelir. →
Referanslar
- github.com/matrix-org/matrix-js-sdk/commit/a587d7c36026fe1fcf93dfff63588abee359be76
- github.com/matrix-org/matrix-js-sdk/releases/tag/v19.7.0
- github.com/matrix-org/matrix-js-sdk/security/advisories/GHSA-r48r-j8fx-mq2c
- matrix.org/blog/2022/09/28/upgrade-now-to-address-encryption-vulns-in-matrix-sdks-and-clients
- security.gentoo.org/glsa/202210-35
Üretici bildirimleri ve resmî kayıtlar. İstismar/PoC bağlantıları bilinçli olarak dışarıda bırakıldı.