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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-65330 — iOS 26.6のtmpfs setxattrハンドラーにおける、修正済みPACダイバーシファイアバイパスの概念実証。ユーザースペースから脆弱な署名パスへの到達可能性を示しています。 | Kitploit
ツール/GitHubGitHub/bytev0rtex/cve-2026-65330
特権昇格iOSセキュリティ脆弱性分析エクスプロイトリバースエンジニアリングモバイルセキュリティバイナリエクスプロイト
GitHubbytev0rtex/cve-2026-65330

CVE-2026-65330

iOS 26.6のtmpfs setxattrハンドラーにおける、修正済みPACダイバーシファイアバイパスの概念実証。ユーザースペースから脆弱な署名パスへの到達可能性を示しています。

リポジトリを見る
19時間41分前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-65330 — tmpfs setxattr PACバイパス

コンポーネント: XNU VFS — default_setxattr_doubleagent(tmpfs VNOP)
影響を受けるバージョン: iOS / iPadOS 26.6(23G71)以前
修正バージョン: iOS / iPadOS 26.6.1(23G83)
種別: xattrハンドラポインタ署名における固定PACダイバーシファイア
影響: カーネルコンテキストからのPC制御。カーネル書き込みプリミティブと組み合わせることで完全な権限昇格が可能


クレジット

発見者: Bhaswanth Chigurupati、Billy Jheng Bing Jhong、Pan Zhenpeng(@Peterpan0927)(STAR Labs SG Pte. Ltd.)
(Appleセキュリティアドバイザリ — iOS 26.6.1 による)


根本原因

tmpfsファイルシステムのVNOP xattrハンドラであるdefault_setxattr_doubleagentは、xattrハンドラ関数ポインタを**固定のコンパイル時定数PACダイバーシファイア#0x307a**を使用して署名します。

root@kitploit:~
; XNUカーネル — default_setxattr_doubleagent(逆コンパイル結果)
handler_ptr = vnode_operations[VNOP_SETXATTR_SLOT];   // vnopテーブルから読み取り
signed_ptr  = PACDA(handler_ptr, 0x307a);             // 固定ダイバーシファイアで署名
... call AUTDA(signed_ptr, 0x307a) → BLR             // 認証して分岐

ダイバーシファイアが固定かつ公開されているため、カーネル書き込みプリミティブを持つ攻撃者は以下を実行できます:

  1. 任意のカーネルアドレスへのPAC署名済みポインタを偽造:
    forged = PACIA(shellcode_addr, 0x307a)
  2. 対象vnodeのvnode_operationsテーブルの該当スロットにforgedを書き込む。
  3. tmpfsマウント上の任意のファイルに対してsetxattr()を呼び出す → カーネルがshellcode_addrを実行。

エクスプロイトチェーンにおける役割

iOS 26.6カーネル権限昇格チェーンにおいて:

root@kitploit:~
CVE-2026-64788(IOGPUFamily UAF)  →  カーネル読み書きプリミティブ
CVE-2026-65330(本バグ)           →  PC制御 → root(uid=0)

sign_ptrプリミティブ(ダイバーシファイア#0x307aを使用したPACIA)は、ジェイルブレイクPOCでインラインARM64eアセンブリを使用して実装されています。カーネル読み書きプリミティブは以下に使用されます:

  1. 対象vnodeのv_opポインタを特定する。
  2. 偽造したPACポインタをvnode_operations[VNOP_SETXATTR_SLOT]に書き込む。
  3. setxattr("/tmp/trigger", ...)を介して実行をトリガーする。

PoCの動作

スタンドアロンPoC(poc_pac_bypass.c)は脆弱なVNOPパスを実行します:

  • /var/root/poc65330_testにテストファイルを作成
  • XATTR_NAME="com.apple.poc.cve65330.test"を指定してsetxattr()を呼び出す → default_setxattr_doubleagentに到達
  • 10回の反復ストレステストを実行し、VNOPが繰り返し実行されることを確認
  • removexattr()を呼び出してクリーンアップパスに到達
  • テストファイルを削除

このPoCはPACポインタの偽造やカーネルデータの上書きは行いません — 通常のsetxattr()システムコールを介して、脆弱な#0x307a署名パスがユーザースペースから到達可能であることを実証するのみです。


要件

  • iOS 26.6(23G71)以前
  • /var/root/でのファイル作成にはジェイルブレイクまたはサンドボックス外の権限が必要(setxattr呼び出し自体は任意のプロセスから到達可能 — ファイルパスはサンドボックス書き込み可能な場所に調整可能)
  • 完全なPC制御エクスプロイトにはカーネル書き込みプリミティブが必要

ビルド

root@kitploit:~
# スタンドアロンCバイナリ(フレームワーク不要)
clang -arch arm64 -o poc poc/poc_pac_bypass.c

# デバイス上での実行用(署名付き):
clang -arch arm64 -isysroot $(xcrun --sdk iphoneos --show-sdk-path) \
      -o poc poc/poc_pac_bypass.c
codesign -s "Apple Development" poc

ダイバーシファイアの検証

固定ダイバーシファイア0x307aは、26.6(23G71)カーネルキャッシュの逆アセンブルから検証されました:

root@kitploit:~
; default_setxattr_doubleagent + 0x??(おおよその位置)
MOVZ  x1, #0x307a          ; ダイバーシファイア定数
PACDA x0, x1               ; ハンドラポインタに署名

コールサイトの対応するAUTDA x0, x1は同じ定数を使用しており、ダイバーシファイア0x307aで偽造されたPACIAポインタが正常に認証されることを確認しています。


タイムライン

日付イベント
2026-08-17修正を含むiOS 26.6.1がリリース
2026-08-17Appleがセキュリティアドバイザリでクレジットを公開

参考情報

  • Appleセキュリティアドバイザリ — iOS 26.6.1
ツールをダウンロード