ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ уязвимости, ΠΊΠΎΠΌΠΏΡ€ΠΎΠΌΠ΅Ρ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ сквозноС ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… Matrix-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°Ρ…

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Π΄Π΅Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΉ Matrix ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅Π΄ΠΈΠ»ΠΈ ΠΎ выявлСнии критичСских уязвимостСй Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ… matrix-js-sdk, matrix-ios-sdk ΠΈ matrix-android-sdk2, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… администраторам сСрвСров Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ сСбя Π·Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ сообщСния Π² Ρ‡Π°Ρ‚Π°Ρ… со сквозным ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ (E2EE). Уязвимости Π²Ρ‹Π·Π²Π°Π½Ρ‹ ошибками Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… рСализациях ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Matrix ΠΈ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ самого ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°. Π’ настоящСС врСмя, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Ρ‹ обновлСния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹Ρ… SDK ΠΈ части построСнных Π½Π° ΠΈΡ… основС клиСнтских ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Для ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π°Ρ‚Π°ΠΊΠΈ трСбуСтся ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ ΠΏΠΎΠ΄ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΌΡƒ Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΌ Π΄ΠΎΠΌΠ°ΡˆΠ½Π΅ΠΌΡƒ сСрвСру (homeserver — сСрвСр для хранСния истории ΠΈ ΡƒΡ‡Ρ‘Ρ‚Π½Ρ‹Ρ… записСй ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ²). ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ сквозного ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π½Π΅ позволяСт администратору сСрвСра Π²ΠΊΠ»ΠΈΠ½ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΎΠ±ΠΌΠ΅Π½ сообщСниями, Π½ΠΎ выявлСнныС уязвимости Π΄Π°ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ Π΄Π°Π½Π½ΡƒΡŽ Π·Π°Ρ‰ΠΈΡ‚Ρƒ. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°ΡŽΡ‚ основной Matrix-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Element (Π±Ρ‹Π²ΡˆΠΈΠΉ Riot) для Web, Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… систСм, iOS ΠΈ Android, Π° Ρ‚Π°ΠΊΠΆΠ΅ сторонниС клиСнтскиС прилоТСния, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Cinny, Beeper, SchildiChat, Circuli ΠΈ Synod.im. Уязвимости Π½Π΅ ΠΏΡ€ΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ… matrix-rust-sdk, hydrogen-sdk, Matrix Dart SDK, mautrix-python, mautrix-go ΠΈ matrix-nio, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² прилоТСниях Hydrogen, ElementX, Nheko, FluffyChat, Syphon, Timmy, Gomuks ΠΈ Pantalaimon.

Π’Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Ρ‚Ρ€ΠΈ основных сцСнария провСдСния Π°Ρ‚Π°ΠΊΠΈ:

  • Администратор Matrix-сСрвСра ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ€ΡƒΡˆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π½Π° основС emoji (SAS, Short Authentication Strings) ΠΏΡ€ΠΈ использовании пСрСкрёстных подписСй ΠΈ Π²Ρ‹Π΄Π°Ρ‚ΡŒ сСбя Π·Π° Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π²Ρ‹Π·Π²Π°Π½Π° ΡƒΡΠ²Π·ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ (CVE-2022-39250) Π² ΠΊΠΎΠ΄Π΅ matrix-js-sdk, связанной со смСшиваниСм ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² устройств ΠΈ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ пСрСкрСстной подписи.
  • ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Ρƒ сСрвСра Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Π»Π°Ρ‚ΡŒ отправитСля, Π·Π°ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ Π΄ΠΎΠ²Π΅Ρ€ΠΈΠ΅, ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ„ΠΈΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ для ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Π° сообщСний ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π²Ρ‹Π·Π²Π°Π½Π° ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ Π² matrix-js-sdk (CVE-2022-39251), matrix-ios-sdk (CVE-2022-39255) ΠΈ matrix-android-sdk2 (CVE-2022-39248), ΠΈΠ·-Π·Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π» адрСсованныС устройствам сообщСния, Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ с использованиСм ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Megolm вмСсто Olm, приписывая сообщСния ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚Π΅Π»ΡŽ Megolm, Π° Π½Π΅ фактичСскому ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚Π΅Π»ΡŽ.
  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ упомянутыС Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡƒΠ½ΠΊΡ‚Π΅ уязвимости администратор сСрвСра Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ„ΠΈΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ запасной ΠΊΠ»ΡŽΡ‡ Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΡƒΡŽ ΡƒΡ‡Ρ‘Ρ‚Π½ΡƒΡŽ запись для извлСчСния ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ сообщСний.

Π’Ρ‹ΡΠ²ΠΈΠ²ΡˆΠΈΠ΅ ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ исслСдоватСли Ρ‚Π°ΠΊΠΆΠ΅ продСмонстрировали Π°Ρ‚Π°ΠΊΠΈ, приводящиС ΠΊ добавлСнию стороннСго ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² Ρ‡Π°Ρ‚ ΠΈΠ»ΠΈ прикрСплСния Ρ‡ΡƒΠΆΠΎΠ³ΠΎ устройства ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ. Атаки основаны Π½Π° Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ слуТСбныС сообщСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ для добавлСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π² Ρ‡Π°Ρ‚, Π½Π΅ ΠΏΡ€ΠΈΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊ ΠΊΠ»ΡŽΡ‡Π°ΠΌ создатСля Ρ‡Π°Ρ‚Π° ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ сгСнСрированы администратором сСрвСра. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΠ· ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Matrix отнСсли Π΄Π°Π½Π½Ρ‹Π΅ уязвимости ΠΊ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ манипуляции Π½Π΅ останутся Π½Π΅Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹ΠΌΠΈ — Π² случаС подстановки ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΎΠ½ отобразится Π² спискС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Ρ‡Π°Ρ‚Π°, Π° ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ устройства Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, Π° устройство Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½ΠΎ ΠΊΠ°ΠΊ Π½Π΅ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½ΠΎΠ΅ (ΠΏΡ€ΠΈ этом сразу послС добавлСния подставному устройству Π½Π°Ρ‡Π½ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒΡΡ ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡ΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ сообщСний).

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru