Уязвимости, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ΄ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π·Ρ‹ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π½Π° ASU-сСрвСрах ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° OpenWrt

Π’ Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅ΠΌΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ OpenWrt инструмСнтарии ASU (Attended SysUpgrade) выявлСны критичСскиС уязвимости (CVE-2024-54143), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΡΠΊΠΎΠΌΠΏΡ€ΠΎΠΌΠ΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сборочныС Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚Ρ‹, распространяСмыС Ρ‡Π΅Ρ€Π΅Π· сСрвис sysupgrade.openwrt.org ΠΈΠ»ΠΈ сторонниС ASU-сСрвСры, ΠΈ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ установки ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠΎΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠ² ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΎΠΊ Π½Π° систСмы ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΡ… для обновлСния ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΎΠΊ Ρ€Π΅ΠΆΠΈΠΌ «attended upgrade» Ρ‡Π΅Ρ€Π΅Π· web-интСрфСйс selector.openwrt.org ΠΈΠ»ΠΈ инструмСнтарий ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки attended.sysupgrade.

Для ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ провСдСния Π°Ρ‚Π°ΠΊΠΈ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΡƒ достаточно ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ запрос формирования сборки Π½Π° сСрвСр ASU (ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ запросы любой ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π±Π΅Π· прохоТдСния Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ). Π§Π΅Ρ€Π΅Π· манипуляции со ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Π½Ρ‹ΠΌ списком ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ Ρ€Π°Π½Π΅Π΅ сгСнСрированных врСдоносных ΠΎΠ±Ρ€Π°Π·ΠΎΠ² Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° Π»Π΅Π³ΠΈΡ‚ΠΈΠΌΠ½Ρ‹Π΅ сборочныС запросы Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

БСрвис ASU примСняСтся Π² OpenWrt для формирования ΠΈ установки ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΎΠΊ Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΠΈ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ настроСк ΠΈ установлСнных ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Π§Π΅Ρ€Π΅Π· web-интСрфСйс ΠΈΠ»ΠΈ инструмСнтарий ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ отправляСт запрос Π½Π° Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±Ρ€Π°Π·Π° ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ, указывая установлСнныС Π² Π΅Π³ΠΎ систСмС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹. Π§Π΅Ρ€Π΅Π· ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ врСмя сСрвСр ASU Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π·, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π·Π°ΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ содСрТимому, послС Ρ‡Π΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΅Π³ΠΎ ΠΈ ΠΏΡ€ΠΎΡˆΠΈΠ²Π°Π΅Ρ‚ Π΅Π³ΠΎ Π½Π° своё устройство. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ прСдоставляСтся опция, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ΡΡ настройки.

Π—Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ запросов ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ ASU Server, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ запускаСт Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ сборку ΠΎΠ±Ρ€Π°Π·ΠΎΠ² ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΎΠΊ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ инструмСнтария ImageBuilder, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ кэш ΠΈΠ· Ρ€Π°Π½Π΅Π΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Ρ… сборок. Π’ случаС, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ запросил ΠΎΠ±Ρ€Π°Π·, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΆΠ΅ Ρ€Π°Π½Π΅Π΅ собирался Π½Π° сСрвСрС ΠΈ сохраняСт Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, систСма сразу ΠΎΡ‚Π΄Π°Ρ‘Ρ‚ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉΡΡ ΠΎΠ±Ρ€Π°Π· ΠΈΠ· кэша Π±Π΅Π· запуска сборочного процСсса.

ПовСдСниС Π°Ρ‚Π°ΠΊΠΈ стало Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ благодаря Π΄Π²ΡƒΠΌ уязвимостям:

  • Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ запросов build_reques.py ΠΈΠ· состава инструмСнтария Imagebuilder, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ подстановки своих ΠΊΠΎΠΌΠ°Π½Π΄ Π² сборочный процСсс Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Π½Ρ‹Ρ… ΠΈΠΌΡ‘Π½ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Π° отсутствиСм Π΄ΠΎΠ»ΠΆΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ спСцсимволов Π² ΠΈΠΌΠ΅Π½Π°Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΡ… использованиСм Π² числС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ make. Π’ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π²ΡˆΠΈΡΡŒ Π΄Π°Π½Π½ΠΎΠΉ ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° сСрвСрС врСдоносныС ΠΎΠ±Ρ€Π°Π·Ρ‹ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΎΠΊ, подписанныС ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΌ сборочным ΠΊΠ»ΡŽΡ‡ΠΎΠΌ.
  • Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ util.py, вызванная Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρ…ΡΡˆΠΈ SHA-256, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ наличия Π² кэшС ΡƒΠΆΠ΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… ΠΎΠ±Ρ€Π°Π·ΠΎΠ² ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΎΠΊ, ΠΎΠ±Ρ€Π΅Π·Π°Π»ΠΈΡΡŒ Π΄ΠΎ 12 символов, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ сниТало ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ энтропии ΠΈ позволяло Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΠ΄Π±ΠΎΡ€ ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΉ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ врСдоносный ΠΎΠ±Ρ€Π°Π·, Ρ…ΡΡˆ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ совпадаСт с Π»Π΅Π³ΠΈΡ‚ΠΈΠΌΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Π’ сочСтании с ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ Π² Imagebuilder ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с Ρ…ΡΡˆΠ°ΠΌΠΈ ΠΌΠΎΠ³Π»Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΌ для «Π·Π°Π³Ρ€ΡΠ·Π½Π΅Π½ΠΈΡ» кэша ASU Server ΠΈ размСщСния Π² Π½Ρ‘ΠΌ врСдоносных ΠΎΠ±Ρ€Π°Π·ΠΎΠ², ΠΎΡ‚Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Π½Π° запросы ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

ИзмСнСниС, послС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… появилась Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π°Ρ‚Π°ΠΊΠΈ, Π±Ρ‹Π»ΠΎ внСсСно 8 июля. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° устранСна 4 дСкабря. Для обСспСчСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ сСрвиса ASU использовались ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ сСрвСры, Π½Π΅ ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°ΡŽΡ‰ΠΈΠ΅ΡΡ с основными сборочными систСмами ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΎΡ‚Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ ΠΎΡ‚ OpenWrt Buildbot ΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ доступа ΠΊ Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ рСсурсам, ΠΊΠ°ΠΊ SSH-ΠΊΠ»ΡŽΡ‡ΠΈ ΠΈ сСртификаты для формирования Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… подписСй.

УтвСрТдаСтся, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ OpenWrt Π½Π΅ нашли слСдов ΠΊΠΎΠΌΠΏΡ€ΠΎΠΌΠ΅Ρ‚Π°Ρ†ΠΈΠΈ инфраструктуры ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π½ΠΎ для подстраховки с нуля пСрСустановили систСмы, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡŒ уязвимыС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΠ»Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π·Ρ‹, распространяСмыС Ρ‡Π΅Ρ€Π΅Π· сайт downloads.openwrt.org, Π° ΠΏΡ€ΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ сборочных Π»ΠΎΠ³ΠΎΠ² Π½Π΅ Π±Ρ‹Π»ΠΎ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ слСдов ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ врСдоносных запросов. ΠŸΡ€ΠΈ этом, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π° сСрвСрах ASU выполняСтся автоматичСская чистка сборок ΡΡ‚Π°Ρ€ΡˆΠ΅ 7 Π΄Π½Π΅ΠΉ, провСсти Π°ΡƒΠ΄ΠΈΡ‚ старых сборок оказалось Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

Π’Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ использования выявлСнных уязвимостСй Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ для распространСния врСдоносных ΠΎΠ±Ρ€Π°Π·ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· инфраструктуру OpenWrt оцСниваСтся прСдставитСлями OpenWrt ΠΊΠ°ΠΊ близкая ΠΊ Π½ΡƒΠ»ΡŽ, Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ASU рСкомСндуСтся Π½Π° своих устройствах Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ OpenWrt Π½Π° Ρ‚Ρƒ ΠΆΠ΅ Π²Π΅Ρ€ΡΠΈΡŽ.

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