The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Обновление OpenWrt 19.07.1 с устранением уязвимости, допускающей подмену пакетов

01.02.2020 08:46

Опубликованы корректирующие выпуски дистрибутива OpenWrt 18.06.7 и 19.07.1, в которых устранена опасная уязвимость (CVE-2020-7982) в пакетном менеджере opkg, позволяющая осуществить MITM-атаку и подменить содержимое загружаемого из репозитория пакета. Из-за ошибки в коде проверки контрольных сумм, атакующий может создать условия, при которых контрольные суммы SHA-256, присутствующие в заверенном цифровой подписью индексе пакетов, будут игнорированы, что даёт возможность обойти механизмы проверки целостности загружаемых ipk-ресурсов.

Проблема проявляется с февраля 2017 года, после добавления кода для игнорирования начальных пробелов, идущих перед контрольной суммой. Из-за ошибки при пропуске пробелов не сдвигался указатель на позицию в строке и цикл декодирования шестнадцатеричной последовательности SHA-256 сразу возвращал управление и отдавал контрольную сумму нулевой длины.

Так как пакетный менеджер opkg в OpenWrt запускается с правами root, то в случае организации MITM атаки злоумышленник имеет возможность незаметно внести изменения в ipk-пакет, загружаемый из репозитория в процессе выполнения пользователем команды "opkg install", и организовать выполнение своего кода с правами root через добавления в пакет собственных скриптов-обработчиков, вызываемых при установке. Для эксплуатации уязвимости атакующий также должен организовать подмену корректного и подписанного индекса пакетов (например, отдаваемого с downloads.openwrt.org). Размер изменённого пакета должен соответствовать исходному размеру, определённому в индексе.

В ситуации, когда необходимо обойтись без обновления всей прошивки, можно обновить только пакетный менеджер opkg, выполнив следующие команды:



   cd /tmp
   opkg update
   opkg download opkg
   zcat ./opkg-lists/openwrt_base | grep -A10 "Package: opkg" | grep SHA256sum
   sha256sum ./opkg_2020-01-25-c09fe209-1_*.ipk

Далее следует сравнить показанные контрольные суммы и если они совпадают выполнить:

   opkg install ./opkg_2020-01-25-c09fe209-1_*.ipk

В новых версиях также устранена ещё одна уязвимость в библиотеке libubox, которая может привести к переполнению буфера при обработке в функции blobmsg_format_json специально оформленных сериализированных бинарных данных или данных в формате JSON. Библиотека используется в таких компонентах дистрибутива, как netifd, procd, ubus, rpcd и uhttpd, а также в пакете auc (Attended sysUpgrade CLI). Переполнение буфера возникает при передаче в blob-блоках больших числовых атрибутов с типом "double". Проверить подверженность системы уязвимости можно выполнив команду:


    $ ubus call luci getFeatures \
       '{ "banik": 00192200197600198000198100200400.1922 }'

Кроме устранения уязвимостей и исправления накопившихся ошибок в выпуске OpenWrt 19.07.1 также обновлена версия ядра Linux (с 4.14.162 до 4.14.167), решены проблемы с производительностью при использовании частот 5GHz, налажена поддержка устройств Ubiquiti Rocket M Titanium, Netgear WN2500RP v1, Zyxel NSA325, Netgear WNR3500 V2, Archer C6 v2, Ubiquiti EdgeRouter-X, Archer C20 v4, Archer C50 v4 Archer MR200, TL-WA801ND v5, HiWiFi HC5962, Xiaomi Mi Router 3 Pro и Netgear R6350.

Дополнение: Опубликован пример эксплуатации уязвимости.

  1. Главная ссылка к новости (https://lists.infradead.org/pi...)
  2. OpenNews: Уязвимость в пакетном менеджере pacman, позволяющая выполнить код в ходе MITM-атаки
  3. OpenNews: Уязвимость в пакетном менеджере APK, позволяющая удалённо выполнить код в Alpine Linux
  4. OpenNews: Уязвимость в пакетном менеджере APT, позволяющая подменить загружаемый пакет
  5. OpenNews: Релиз OpenWRT 19.07
  6. OpenNews: Уязвимость в NPM, позволяющая изменить произвольные файлы при установке пакета
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/52287-openwrt
Ключевые слова: openwrt, mitm, packet
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (49) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, cbr666rr (?), 09:34, 01/02/2020 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –8 +/
     

     ....ответы скрыты (5)

  • 1.2, Аноним (3), 09:36, 01/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Напомните где ещё кроме дебиана были подобные проблемы с проверкой пакетов?
     
     
  • 2.32, anonymous (??), 15:53, 01/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >Уязвимость в пакетном менеджере pacman

    https://www.opennet.me/opennews/art.shtml?num=50311

     
     
  • 3.45, Аноним (-), 08:18, 02/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Можно еще вспомнить как редхат резко рекеил все репы.
     

  • 1.5, Аноним (5), 09:40, 01/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Для нечастых обновлений прошивки можно использовать WGET.
    т.е. сначала скачиваем себе весь репозиторий opkg пакетов для конкретного устройства по HTTPS (что важно) куда-нибудь на локальный сервер.
    А потом уже спокойно ставим прошивку и пакеты.

    У меня так и сделано. Все пакеты для роутера лежат на домашнем сервере, зато не страшна потеря интернета и блокировки.

     
     
  • 2.28, Аноним (28), 15:21, 01/02/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >сначала скачиваем себе весь репозиторий opkg пакетов для конкретного устройства по HTTPS (что важно) куда-нибудь на локальный сервер. А потом уже спокойно ставим прошивку и пакеты.

    После чего через BGP-атаку выпускают свой сертификат для серверов с обновлениями и заражают всех.

     
     
  • 3.46, Аноним (-), 08:19, 02/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > После чего через BGP-атаку выпускают свой сертификат для серверов с обновлениями и
    > заражают всех.

    Только сперва в роутеры придется вгрузить свой троян, потому что без этого они черта с два пойдут пакеты устанавливать. У сабжевых роутеров установка пакетов случается в четверг нечетного месяца високосного года, при условии что был дождичек. И ждать этого момента можно и подустать.

     
  • 2.34, и.о.К.О. (?), 16:25, 01/02/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А какая разница, скачается фейковый пакет через opkg или твоими руками wget?

    или твоя квалификация позволяет провести полный анализ всех пакетов на _уязвимости_?  и время есть?

    Хотя иметь локально копии пакетов значительно уменьшает гемморой настройки.

     
  • 2.44, Аноним (44), 00:56, 02/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > ставим прошивку и пакеты

    Image builder не осилил?

     

  • 1.7, Аноним (7), 09:44, 01/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    о, опять си-проблемы с указателями)) никогда такого не было и вот опять!

    наверное этот код писали ненастоящие си-программисты, потому что настоящие си-программисты никогда не допускают таких ошибок!

     
     
  • 2.19, Аноним (19), 11:05, 01/02/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Можно подумать, в проект на расте чуваки из NSA не пропихнут закладочку
     
     
  • 3.23, Тита_М (?), 13:34, 01/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Причём тут раст, лолка? Существуют куча языков где проблемы переполнения буфера как у няшной не существует.
     
     
  • 4.25, Аноним (25), 14:51, 01/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Угу. Нельзя запустить на роутере - невозможно переполнение - нет проблем.
     
     
  • 5.29, Аноним (28), 15:22, 01/02/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    javascript можно запустить не только на рутере, но и на pic.
     
     
  • 6.30, Аноним (25), 15:31, 01/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > интерпретатор javascrip, написанные на С,
    > можно запустить не только на рутере, но и на pic.

    Можно. И что?

     
  • 6.42, Lex (??), 00:10, 02/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Можно. Но, на самом деле, нет уже просто потому, что едва ли существуют процы и мк, для которых js будет "родным".

    Т.е в конечном счёте, всё это будет работать в интерпретаторе , написанном почти на чём угодно, кроме js..

    И кстати, js движки, порой, весьма дырявый даже в гораздо более простых случаях

     
  • 4.53, Аноним (-), 01:41, 03/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > где проблемы переполнения буфера как у няшной не существует.

    Зато там обычно существует много чего еще интересного. При том порой менее изученного и гораздо более просто эксплуатируемого.

     
  • 2.20, Аноним (20), 13:06, 01/02/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > наверное этот код писали ненастоящие си-программисты, потому что настоящие си-программисты никогда не допускают таких ошибок!

    Растированные си-программисты, же!

     
  • 2.22, Аноним (22), 13:31, 01/02/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    настоящим программистам раст не нужен
     
  • 2.38, Аноним (7), 21:16, 01/02/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Что вы сразу раст приплели? Нет больше других языков?
    Думаете на lisp можно настолько накосячить? Или на perl?
    Да любой нормальный взять можно было! Хоть раст, хоть perl, хоть lisp, хоть (простите) swift...
     
     
  • 3.52, N (?), 17:03, 02/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > swift

    чет я не уверен что его жырный рантайм средненький роутер с 400 МГц mips24k и 64 МБ оперативы потянет.

     
  • 3.55, Аноним (-), 01:43, 03/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Думаете на lisp можно настолько накосячить? Или на perl?

    Ну, попробуйте на них пакетный менеджер для роутера написать - вот и узнаем. А если вам на систему 8 мегов флеша и 64 мега рамы дать, например? В роутерах больше редко бывает.

    > Да любой нормальный взять можно было! Хоть раст, хоть perl, хоть lisp,
    > хоть (простите) swift...

    Ну так возьми - и покажи мастеркласс?

     
  • 2.47, Аноним (-), 08:20, 02/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > о, опять си-проблемы с указателями)) никогда такого не было и вот опять!

    Первая проблема - вообше логическая, трабла в разборе формата чексум. Такое на вообще любом яп можно сделать.

     

  • 1.12, Nsyp (?), 10:18, 01/02/2020 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –6 +/
     
     
  • 2.13, Аноним (13), 10:23, 01/02/2020 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 3.15, Nsyp (?), 10:27, 01/02/2020 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 4.17, Аноним (13), 10:45, 01/02/2020 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
     
    Часть нити удалена модератором

  • 6.35, Аноним (13), 16:33, 01/02/2020 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 2.14, BlackRot (ok), 10:24, 01/02/2020 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 3.16, Nsyp (?), 10:29, 01/02/2020 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 4.33, Аноним (33), 16:05, 01/02/2020 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
     
  • 5.39, Nsyp (?), 21:21, 01/02/2020 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 6.50, Аноним (-), 08:26, 02/02/2020 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 4.49, Аноним (-), 08:22, 02/02/2020 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 2.21, Аноним (20), 13:11, 01/02/2020 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 2.48, Аноним (-), 08:22, 02/02/2020 Скрыто ботом-модератором     [к модератору]
  • +/
     

     ....ответы скрыты (12)

  • 1.36, anonymous (??), 16:40, 01/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Окончательно доломали мой ASUS RT-AC58U, теперь даже dnsmasq крашится. Меня терзают смутные сомнения насчет OpenWRT вцелом.
     
     
  • 2.40, werwer (?), 21:52, 01/02/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    FreshTomato поищите. Может и есть под него.
     

  • 1.37, Аноним (37), 20:49, 01/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    OpenWrt - отличный проект! Поздравляю всех с новыми выпусками!
     
  • 1.41, Аноним (41), 22:47, 01/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Как ни посмотрю, складывается стойкое ощущение, что с каждым релизом количество поддерживаемых роутеров убывает. На новые модели они абсолютно точно забили.
     
     
  • 2.51, Аноним (-), 08:27, 02/02/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Как ни посмотрю, складывается стойкое ощущение, что с каждым релизом количество поддерживаемых
    > роутеров убывает.

    А список даунлоадов почему-то наоборот распух.

    > На новые модели они абсолютно точно забили.

    Ну так возьмите и добавьте поддержку своей железки. Заодно узнаете в чем прикол и почем нынче фунт лиха.

     
  • 2.56, Аноним (-), 14:02, 03/02/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да и у многих старых поддержка только наполовину.
     

  • 1.57, Аноним (57), 15:09, 11/02/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Возможно кто-то сталкивался с моей проблемой и сможет помочь в решении. Тестировал на роутерах tp link archer c7 v2 и tp link wdr4300 v1, с прошивками 19.07.0 и 19.07.1, получая интернет по dhcp. Проблема заключается в том, что если я вытаскиваю ethernet кабель из wan порта, то uptime интерфейса не сбрасывается. Если перезагружать интерфейс программно, счетчик uptime обнуляется у интерфейса, как заставить его обнуляться при вытаскивании кабеля?    
     
     
  • 2.58, это не баг трекер Openwrt (?), 22:09, 13/01/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Логичнее сходить на опенврт и написать там...
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру