Перейти к содержимому
Noroxi
CVE-2022-39251· NVD / CVE Program· CNA GitHub_M

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.

ВысокаяCVSS 7.5 · v3.1—Эксплойта нет Есть исправление
Опубликовано
28 сент. 2022 г.
Обновлено
17 июн. 2026 г.
EPSS
1,2 % · 66-й процентиль
Следить за этой CVE

Войдите, чтобы следить · Вы получите уведомление, если запись попадёт в KEV, получит эксплойт или обновится.

Инструменты для отчёта

JSON

Оценка срочности

30

Наблюдать

Пока низкий приоритет.

CVSS
30 / 40 · 7.5 / 10
CISA KEV
0 / 30 · Нет в списке
EPSS
0 / 30 · 1,2 %

Решение CISA SSVC

Эксплуатация
нет
Автоматизируемо
да
Техническое влияние
частичное

Vulnrichment: входные данные дерева решений CISA.

Оценка CNA и NVD

NVD
7,5
CNA · GitHub_M
8,6
разница 1,1 балла

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:N

Оценка присваивающего органа и независимая оценка NVD. Разрыв означает, что критичность спорна.

Затронутые системы

ВендорПродукт
matrixjavascript sdk

Затронутые версии

Диапазоны версий NVD (для продуктов из каталога). Добавьте продукт в стек с версией, и сопоставление будет по ним.

  • matrix javascript sdkдо 19.7.0

Версии, заявленные вендором

Диапазоны затронутых версий, заявленные назначающей организацией (GitHub_M). Не зависят от анализа CPE в NVD и обычно опережают его.

  • matrix-org matrix-js-sdk

    • < 19.7.0затронута

Затронутые пакеты

Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.

ЭкосистемаПакетЗатронутый диапазонИсправление
AlmaLinux:8thunderbirdдо 102.4.0-1.el8_6.alma102.4.0-1.el8_6.alma
AlmaLinux:9thunderbirdдо 102.4.0-1.el9_0.alma102.4.0-1.el9_0.alma
Debian:11node-matrix-js-sdkвсе версии—
npmmatrix-js-sdkдо 19.7.019.7.0
openSUSE:Tumbleweedelement-desktopдо 1.11.8-1.11.11.8-1.1
openSUSE:Tumbleweedelement-webдо 1.11.8-1.11.11.8-1.1
openSUSE:TumbleweedMozillaThunderbirdдо 102.3.1-1.1102.3.1-1.1
Red Hat:enterprise_linux:7::clientthunderbirdдо 0:102.4.0-1.el7_90:102.4.0-1.el7_9
Red Hat:enterprise_linux:7::clientthunderbird-debuginfoдо 0:102.4.0-1.el7_90:102.4.0-1.el7_9
Red Hat:enterprise_linux:8::appstreamthunderbirdдо 0:102.4.0-1.el8_60:102.4.0-1.el8_6
Red Hat:enterprise_linux:8::appstreamthunderbird-debuginfoдо 0:102.4.0-1.el8_60:102.4.0-1.el8_6
Red Hat:enterprise_linux:8::appstreamthunderbird-debugsourceдо 0:102.4.0-1.el8_60:102.4.0-1.el8_6
Red Hat:enterprise_linux:9::appstreamthunderbirdдо 0:102.4.0-1.el9_00:102.4.0-1.el9_0
Red Hat:enterprise_linux:9::appstreamthunderbird-debuginfoдо 0:102.4.0-1.el9_00:102.4.0-1.el9_0
Red Hat:enterprise_linux:9::appstreamthunderbird-debugsourceдо 0:102.4.0-1.el9_00:102.4.0-1.el9_0
Red Hat:rhel_e4s:8.1::appstreamthunderbirdдо 0:102.4.0-1.el8_10:102.4.0-1.el8_1
Red Hat:rhel_e4s:8.1::appstreamthunderbird-debuginfoдо 0:102.4.0-1.el8_10:102.4.0-1.el8_1
Red Hat:rhel_e4s:8.1::appstreamthunderbird-debugsourceдо 0:102.4.0-1.el8_10:102.4.0-1.el8_1
Red Hat:rhel_eus:8.2::appstreamthunderbirdдо 0:102.4.0-1.el8_20:102.4.0-1.el8_2
Red Hat:rhel_eus:8.2::appstreamthunderbird-debuginfoдо 0:102.4.0-1.el8_20:102.4.0-1.el8_2
Red Hat:rhel_eus:8.2::appstreamthunderbird-debugsourceдо 0:102.4.0-1.el8_20:102.4.0-1.el8_2
Red Hat:rhel_eus:8.4::appstreamthunderbirdдо 0:102.4.0-1.el8_40:102.4.0-1.el8_4
Red Hat:rhel_eus:8.4::appstreamthunderbird-debuginfoдо 0:102.4.0-1.el8_40:102.4.0-1.el8_4
Red Hat:rhel_eus:8.4::appstreamthunderbird-debugsourceдо 0:102.4.0-1.el8_40:102.4.0-1.el8_4

+4

Тот же продукт

matrix: все записи

Другие записи с наивысшей оценкой для того же основного продукта.

  • CVE-2023-28427Prototype pollution in matrix-js-sdk
    32Наблюдать
  • CVE-2022-39250Matrix JavaScript SDK vulnerable to key/device identifier confusion in SAS verification
    30Наблюдать
  • CVE-2022-39249Matrix Javascript SDK vulnerable to impersonation via forwarded Megolm sessions
    30Наблюдать
  • 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 hom
    23Наблюдать
  • CVE-2024-42369A room with itself as a its predecessor will freeze matrix-js-sdk
    21Наблюдать
  • CVE-2023-29529matrix-js-sdk vulnerable to invisible eavesdropping in group calls
    21Наблюдать

Исправление

На какую версию обновиться

Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.

Продукт / пакетИсправленная версияИсточник
almalinux:thunderbird102.4.0-1.el9_0.alma · AlmaLinux:9Реестр пакетов (OSV)
npm:matrix-js-sdk19.7.0Реестр пакетов (OSV)
opensuse:element-desktop1.11.8-1.1 · openSUSE:TumbleweedРеестр пакетов (OSV)
opensuse:element-web1.11.8-1.1 · openSUSE:TumbleweedРеестр пакетов (OSV)
opensuse:MozillaThunderbird102.4.0-150200.8.85.1 · openSUSE:Leap 15.3Реестр пакетов (OSV)
red hat:thunderbird0:102.4.0-1.el9_0 · Red Hat:enterprise_linux:9::appstreamРеестр пакетов (OSV)
red hat:thunderbird-debuginfo0:102.4.0-1.el9_0 · Red Hat:enterprise_linux:9::appstreamРеестр пакетов (OSV)
red hat:thunderbird-debugsource0:102.4.0-1.el9_0 · Red Hat:enterprise_linux:9::appstreamРеестр пакетов (OSV)
rocky linux:thunderbird0:102.4.0-1.el8_6 · Rocky Linux:8Реестр пакетов (OSV)
suse:MozillaThunderbird102.4.0-150200.8.85.1 · SUSE:Linux Enterprise Module for Package Hub 15 SP3Реестр пакетов (OSV)

Статус эксплойта

Публичный эксплойт неизвестен

Публичный эксплойт пока не обнаружен. Это не значит, что вы в безопасности, лишь что порог чуть выше.

Контекст для исследователя

Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.

Хронология

От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.

Кроме публикации датированных событий нет.

EPSS за 120 дней

Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).

Ссылки на патчи и коммиты

Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.

Нашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.

В записи CNA нет авторов.

Кандидаты в варианты

Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.

Ночной расчёт связей ничего не нашёл.

Кандидаты в цепочки

Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.

—

Охват bug bounty

Известной публичной программы нет.

Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).

Технические детали

Условия атаки

  • Может быть вызвана любым, у кого есть доступ через интернет.
  • Учётная запись или пароль не требуются.
  • Действия пользователя не требуются.
  • Особые условия не требуются; воспроизводится стабильно.

В случае успеха

Конфиденциальность
нет
Целостность
высокое · данные или конфигурация могут быть изменены
Доступность
нет
Вектор атаки
Сеть
Сложность атаки
Низкая
Требуемые привилегии
Не требуются
Взаимодействие с пользователем
Не требуется
Область действия
Не изменяется
Влияние на конфиденциальность
Нет
Влияние на целостность
Высокое
Влияние на доступность
Нет

Класс уязвимости (CWE)

CWE-287 · Improper Authentication

Вектор CVSS

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N

nvd-primary

Первопричина

Аутентификация добавляется к каждому маршруту по отдельности, а не обеспечивается централизованно. Если маршрут, добавленный позже, обходит общий промежуточный обработчик, проверка сессии для него не выполняется вовсе.

Ошибка в коде

Весь класс CWE-287

Показательный пример этого класса уязвимостей. Это не исходный код вендора; показан ошибочный шаблон и его исправление.

Уязвимый код

ts
app.use("/admin", requireSession, adminRouter);
// Добавленный позже маршрут обходит обработчикapp.post("/admin-api/config", updateConfig);

Исправленный код

ts
const admin = express.Router();admin.use(requireSession, requireRole("admin"));
admin.post("/config", updateConfig);app.use("/admin", admin);

Анализ Noroxi

Анализа Noroxi для этой записи пока нет

Мы не пишем анализ вручную для всех 385 000+ уязвимостей; это было бы нечестно. Для значимых уязвимостей с реальным влиянием наша команда описывает механизм, обнаружение и устранение.

Мы используем этот продукт, нужна помощь

Журнал изменений

  1. Исправление✗ → ✓

Для отслеживаемых записей эти изменения приходят и как уведомления. →

Источники

Все записи