Выпущены версии дистрибутива OpenWrt 18.06.7 и 19.07.1, в которых исправлена уязвимость CVE-2020-7982 в менеджере пакетов opkg, с помощью которой можно было осуществить MITM-атаку и заменить содержимое загружаемого из репозитория пакета. Из-за ошибки в коде проверки контрольных сумм, атакующий мог проигнорировать контрольные суммы SHA-256 из пакета, что позволяло обойти механизмы проверки целостности загружаемых ipk-ресурсов.
Проблема существует с февраля 2017 года, после того, как был добавлен код для игнорирования начальных пробелов, идущих перед контрольной суммой. Из-за ошибки при пропуске пробелов не сдвигался указатель на позицию в строке и цикл декодирования шестнадцатеричной последовательности SHA-256 сразу возвращал управление и отдавал контрольную сумму нулевой длины.
Из-за того, что менеджер пакетов opkg запускался из-под root, злоумышленник мог изменить содержимое в ipk-пакете во время организации MITM-атаки, загружаемый из репозитория в процессе выполнения пользователем команды «opkg install», и организовать выполнение своего кода с правами root через добавления в пакет собственных скриптов-обработчиков, вызываемых при установке. Для использования уязвимости атакующий также должен подменить индекс пакетов (например, отдаваемого с downloads.openwrt.org). Размер изменённого пакета должен соответствовать изначальному, из индекса.
В новых версиях также устранена ещё одна уязвимость в библиотеке libubox, которая может привести к переполнению буфера при обработке в функции blobmsg_format_json специально оформленных сериализированных бинарных данных или данных в формате JSON.
>>> Подробности