Компания Samsung модифицировала ядро Linux для последних моделей своих смартфонов и планшетов, основанных на SoC Exynos 4210 и Exynos 4412. В результате этой модификации любой пользователь и любое приложение Android имеет право доступа на чтение и запись в любую ячейку физической памяти.

На нижеперечисленных смартфонах Samsung имеется устройство /dev/exynos-mem, которое аналогично /dev/mem в обычном ядре Linux, но в случае с Samsung здесь кто угодно может получить к нему доступ.

В коде /dev/exynos-mem есть одно-единственное ограничение на доступ к памяти, оно выглядит так:

/* TODO: currently lowmem is only avaiable */
if ((phys_to_virt(start) < (void *)PAGE_OFFSET) ||
(phys_to_virt(start) >= high_memory)) {
pr_err("[%s] invalid paddr(0x%08x)\n", __func__, start);
return -EINVAL;
}

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

Уязвимость присутствует на смартфонах следующих моделей:

  • Samsung Galaxy S2 GT-I9100
  • Samsung Galaxy S3 GT-I9300
  • Samsung Galaxy S3 LTE GT-I9305
  • Samsung Galaxy Note GT-N7000
  • Samsung Galaxy Note 2 GT-N7100
  • Verizon Galaxy Note 2 SCH-I605
  • Samsung Galaxy Note 10.1 GT-N8000
  • Samsung Galaxy Note 10.1 GT-N8010

Нужно заметить, что та же модель S3 выпускается и на чипе Qualcomm Snapdragon вместо Exynos, в этом случае уязвимость отсутствует.

Естественно, что наличие такой уязвимости даёт возможность создать простой и вредоносный эксплойт, например, через обновление любой программы для смартфона.

Компания Samsung уже уведомлена об уязвимости и работает над выпуском обновления. Пользователи уже опубликовали для Samsung патч, который нужно внести в ядро.

В то же время выпущен неофициальный патч, который меняет значение ueventd.smdk4x12.rc, но неизвестно, как он повлияет на работу других приложений в системе: exynos-abuse.tar.gz.



Оставить мнение